MySQL错误1064(42000):您的SQL语法有错误;检查与MySQL服务器版本对应的手册

MySQL错误1064(42000):您的SQL语法有错误;检查与MySQL服务器版本对应的手册,mysql,privileges,Mysql,Privileges,当我试图在mySQL上授予用户权限时,发生了错误。我在命令行上键入了什么错误吗 mySQL版本8.0.16,适用于x86_64上的macos10.14(mySQL社区服务器-GPL) mysql>将librarydb.*上的所有权限授予由“123456”标识的“%”phill“@”; 你的MySQL是什么版本?如果是5.7或更高版本,可能与此问题相同: 下一个命令 mysql>grant all privileges on librarydb.* to 'phill'@'%' ident

当我试图在mySQL上授予用户权限时,发生了错误。我在命令行上键入了什么错误吗

mySQL版本8.0.16,适用于x86_64上的macos10.14(mySQL社区服务器-GPL)

mysql>将librarydb.*上的所有权限授予由“123456”标识的“%”phill“@”;

你的MySQL是什么版本?如果是5.7或更高版本,可能与此问题相同:

下一个命令

mysql>grant all privileges on librarydb.* to 'phill'@'%' identified by '123456';
应改为:

mysql> create user 'phill' identified by '123456';
mysql> grant all privileges on librarydb.* to 'phill';

如果尚未创建“phill”用户。如果它是较早创建的,则使用
alter
而不是
create

尝试将librarydb.*上的所有特权授予“phill”@“%”
子句标识,用于在创建用户期间定义密码。像@SumitBadaya建议的那样去掉它。@SumitBadaya哇,真管用!非常感谢你!但是为什么在这种情况下我不需要用密码识别呢?@BarbarosÖzhan我知道了,谢谢你的帮助!更改由“123456”标识的用户librarydb以更改密码。
mysql> create user 'phill' identified by '123456';
mysql> grant all privileges on librarydb.* to 'phill';