我发出以下命令以允许从任何主机进行 root 登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxxx' WITH GRANT OPTION;
FLUSH PRIVILEGES;
但它不更新?
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)
最佳答案
我怀疑这是因为您在以 root 身份连接到本地主机时发出“show grants”命令。尝试一下并查看返回的内容:
SHOW GRANTS FOR 'root'@'%';
如果没有显示任何内容,请查看 mysql.user 表,其中可能有线索:
SELECT user, host FROM mysql.user;
关于Mysql 授予所有权限未得到应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7541296/