[英]Can't grant all privileges to root in MySQL 5.7. Syntax error
这个真是让人莫名其妙。 我希望我没有做愚蠢的事情,但这没有意义。 我在 Ubuntu 上安装了一个新的 MySQL 5.7,以 root 身份在本地登录到 mysql 并运行以下命令:
CREATE USER 'root'@'%' IDENTIFIED BY 'password';
成功!
接下来,我运行了这个:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
没有布埃诺。 这导致了以下错误:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*.* TO 'root'@'%' WITH GRANT OPTION' at line 1
跆拳道? 我已经在 MySQL 服务器上运行该命令 2 年了。 为什么不起作用? 正如任何优秀的小开发人员都会做的那样,我决定使用 RTM。 这是 5.7 手册中给出的示例( http://dev.mysql.com/doc/refman/5.7/en/adding-users.html ):
mysql> GRANT ALL PRIVILEGES ON *.* TO 'finley'@'%'
-> WITH GRANT OPTION;
我在服用疯狂的药丸吗? 除了用户名,这正是我所做的。 这应该可以正常工作,对吧??? 互联网上报告这个问题的其他人令人困惑地缺乏,所以我认为我必须只是掩盖一些明显的事情,但我已经深入研究了 2 个小时,只是无法弄清楚。 提前致谢。
脑补了几分钟,想起来了,在新安装中,默认情况下,用户“root@%”不存在,必须单独创建。
这必须为您工作:
CREATE USER 'root'@'%' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
关于 mysql 的语法已更改
GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.