Mysql grant all privileges is not getting applied

MySQL

I issue the following command to allow root login from any host

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxxx' WITH GRANT OPTION;
FLUSH PRIVILEGES;

but it does not update?


mysql> show grants;
+----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@localhost                                                                                                              |
+----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*xxxxxxxxxxxxxxxxx33487256' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION                                                                           |
+----------------------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

Best Answer

I suspect it's because you're issuing the "show grants" command when connected as root to localhost. Try this and see what is returned:

SHOW GRANTS FOR 'root'@'%';

And if that doesn't show up anything, have a look in the mysql.user table, there might be a clue in there:

SELECT user, host FROM mysql.user;