繁体   English   中英

无法在 MySQL 5.7 中向 root 授予所有权限。 语法错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM