未成功授予权限

Bre*_*nan 12 mysql permissions

我目前正在尝试使用以下方法定义一个新用户:

mysql> GRANT ALL PRIVILEGES ON simple_cms_development.* TO 'br'@'localhost' IDENTIFIED BY 'password';
Run Code Online (Sandbox Code Playgroud)

但是,它不成功并输出:

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在第 1 行的“IDENTIFIED BY 'password'”附近使用的正确语法

我正在运行 MySQL 8.0.11。

Jac*_*b H 16

根据 MySQL 文档,此功能已被弃用:https : //dev.mysql.com/doc/refman/5.7/en/mysql-nutshell.html#mysql-nutshell-deprecations

对帐户管理报表的更改使以下功能过时。它们现在已被弃用:

  • 使用 GRANT 创建用户。相反,使用创建用户。遵循这种做法会使 NO_AUTO_CREATE_USER SQL 模式对于 GRANT 语句变得无关紧要,因此它也已被弃用。

  • 使用 GRANT 修改权限分配以外的帐户属性。这包括身份验证、SSL 和资源限制属性。相反,在创建帐户时使用 CREATE USER 建立此类属性,或在之后使用 ALTER USER 修改它们。

解决方案是使用两个单独的语句。一个到ALTER USER,然后第二个到GRANTprivs。

ALTER USER 'br' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON simple_cms_development.* TO 'br'@'localhost';
Run Code Online (Sandbox Code Playgroud)