无法在MySQL 5.6中创建用户

我想创建一个用户,这将是我的classicmodels数据库中的一个管理员。 我希望我的管理员用户可以创建其他用户帐户并将其仅分配给classicmodels数据库。 我已经完成了以下步骤:

  • 以root身份登录
  • 创建'qwerty'标识的用户admin @'%';
  • 授予经典模型的所有特权。*授予admin @'%'授权选项;
  • 冲洗特权;
  • admin @'%'节目授权结果:
  • 授予用户*.*至'admin'@'%'用密码标识
    授予经典模型的所有特权*到'admin'@'%'授权选项

    现在以管理员身份登录:

  • 使用classicmodels;
  • 创建由'qwerty'标识的用户user1 @'%';
    错误1227(42000):访问被拒绝; 您需要(至少一个)此操作的CREATE USER权限
  • 我没有看到,我犯了什么错误。 当我以root身份登录时,我在步骤3中授予了管理员的所有权限。 提前致谢。


    您已为特定数据库(模式)授予所有特权,而不是全局特权。

    运行以下查询并检查结果。

    SELECT * FROM `mysql`.`db` WHERE `User` = 'admin' AND `Host` = '%';
    SELECT * FROM `mysql`.`user` WHERE `User` = 'admin' AND `Host` = '%';
    

    13.7.1.2 CREATE USER语法

    ...

    ...要使用此语句,您必须具有MySQL数据库的全局CREATE USER特权或INSERT特权。 ...

    ...

    UPDATE

    13.7.1.4 GRANT语法

    ...

    CREATE TABLESPACE,CREATE USER,FILE,PROCESS,RELOAD,REPLICATION CLIENT,REPLICATION SLAVE,SHOW DATABASES,SHUTDOWN和SUPER权限是管理性的,只能在全局范围内授予。

    ...

    您需要执行以下操作:

  • 以根用户身份登录
  • GRANT CREATE USER ON *.* TO 'admin'@'%';
  • FLUSH PRIVILEGES;
  • mysql> SHOW GRANTS FOR 'admin'@'%';
    +------------------------------------------------------------------------------------------------------------+
    | Grants for admin@%                                                                                         |
    +------------------------------------------------------------------------------------------------------------+
    | GRANT CREATE USER ON *.* TO 'admin'@'%' IDENTIFIED BY PASSWORD '*AA1420F182E88B9E5F874F6FBE7459291E8F4601' |
    | GRANT ALL PRIVILEGES ON `classicmodels`.* TO 'admin'@'%' WITH GRANT OPTION                                 |
    +------------------------------------------------------------------------------------------------------------+
    2 rows in set (0,00 sec)
    
    链接地址: http://www.djcxy.com/p/69277.html

    上一篇: Can't create user in MySQL 5.6

    下一篇: Create View command