我正在尝试创建一个具有所有权限的新用户,所以我在mysql中尝试了这个代码:
create user 'user'@'localhost' IDENTIFIED BY 'password'
我收到了这个错误
--------------创建用户'用户'@'localhost'识别'密码'
错误1227(42000):拒绝访问;你需要(至少一个) 此操作的CREATE USER权限
注意:我已经阅读了这个问题和答案(并尝试了它们):
答案 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.user
,mysql.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
选项。)