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

时间:2016-06-15 23:07:22

标签: mysql

这个真是令人费解。我希望我没有做一些愚蠢的事,但这没有意义。我在Ubuntu上安装了一个新的MySQL 5.7,以root身份本地登录到mysql并运行以下命令:

CREATE USER 'root'@'%' IDENTIFIED BY 'password';

成功!

接下来,我跑了这个:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

没有bueno。这导致以下错误:

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

WTF?我已经在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 个答案:

答案 0 :(得分:2)

在踢了几分钟之后,记得默认情况下在新安装中,用户“root @%”不存在,必须单独创建。

这一定对您有用:

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

答案 1 :(得分:2)

有关mysql语法的更改

GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;
相关问题