Isso funcionou para mim no Ubuntu:
Pare o servidor MySQL:
/etc/init.d/mysql stop
Inicie o MySQL a partir da linha de comando:
/usr/sbin/mysqld
Em outro terminal digite mysql e emita:
grant all privileges on *.* to 'root'@'%' with grant option;
Você também pode querer adicionar
grant all privileges on *.* to 'root'@'localhost' with grant option;
e, opcionalmente, use uma senha também.
flush privileges;
e, em seguida, saia do prompt do MySQL e, em seguida, mate o servidor mysqld em execução em primeiro plano. Reiniciar com
/etc/init.d/mysql start