mysql用户创建错误42000

时间:2018-05-01 14:39:06

标签: mysql

我正在尝试创建一个具有所有权限的新用户,所以我在mysql中尝试了这个代码:

create user 'user'@'localhost' IDENTIFIED BY 'password'

我收到了这个错误

  

--------------创建用户'用户'@'localhost'识别'密码'

     

错误1227(42000):拒绝访问;你需要(至少一个)   此操作的CREATE USER权限

注意:我已经阅读了这个问题和答案(并尝试了它们):

  1. MySQL: ERROR 1227 (42000): Access denied - Cannot CREATE USER

1 个答案:

答案 0 :(得分:1)

要查看您登录的用户:

SELECT USER();

要查看您登录的用户的权限:

SHOW GRANTS;

识别具有“CREATE USER”权限的用户:

SELECT u.user, u.host, u.create_user_priv FROM mysql.user u ORDER BY u.user, u.host ;

如果对mysql.usermysql.db等进行DML更改。表,然后我们可以发出此语句让MySQL重新读取表以使这些更改生效:

FLUSH PRIVILEGES ;

要执行CREATE USER语句,我们需要以具有CREATE USER权限的用户身份登录。

或者(不太理想)以具有足够权限的用户身份登录,我们可以手动发出DML INSERT语句以向mysql.user表添加新行,然后运行{{1声明。

或者(作为最后的手段),如果我们没有任何合适用户的登录凭据,我们可以使用FLUSH PRIVILEGES选项重新启动MySQL,然后对--skip-grant-tables表进行更改(使用DML INSERT和/或UPDATE语句),然后再次重启MySQL(这次没有mysql.user选项。)