Cela a fonctionné pour moi sur Ubuntu :
Arrêtez le serveur MySQL :
/etc/init.d/mysql stop
Démarrez MySQL à partir de la ligne de commande :
/usr/sbin/mysqld
Dans un autre terminal, entrez mysql et lancez :
grant all privileges on *.* to 'root'@'%' with grant option;
Vous pouvez également ajouter
grant all privileges on *.* to 'root'@'localhost' with grant option;
et éventuellement utiliser également un mot de passe.
flush privileges;
puis quittez votre invite MySQL, puis tuez le serveur mysqld exécuté au premier plan. Redémarrez avec
/etc/init.d/mysql start