Das hat bei mir unter Ubuntu funktioniert:
Beenden Sie den MySQL-Server:
/etc/init.d/mysql stop
Starten Sie MySQL über die Befehlszeile:
/usr/sbin/mysqld
Geben Sie in einem anderen Terminal mysql ein und geben Sie Folgendes aus:
grant all privileges on *.* to 'root'@'%' with grant option;
Sie können auch hinzufügen
grant all privileges on *.* to 'root'@'localhost' with grant option;
und optional auch ein Passwort verwenden.
flush privileges;
und verlassen Sie dann Ihre MySQL-Eingabeaufforderung und beenden Sie dann den mysqld-Server, der im Vordergrund ausgeführt wird. Neustart mit
/etc/init.d/mysql start