mysql> GRANT ALL PRIVILEGES ON lr_pro.* TO 'general'@'%'; ERROR 1410 (42000): You are not allowed to create a user with GRANT
时间: 2023-12-26 20:26:38 浏览: 213
这个错误提示是因为当前用户没有创建新用户的权限。要解决这个问题,需要以具有创建新用户权限的用户身份登录MySQL。可以按照以下步骤操作:
1. 以root用户身份登录MySQL:`mysql -u root -p`。
2. 输入root用户的密码。
3. 授予创建新用户的权限:`GRANT CREATE USER ON *.* TO 'root'@'localhost';`。
4. 刷新权限:`FLUSH PRIVILEGES;`。
5. 退出MySQL:`exit;`。
6. 以具有创建新用户权限的用户身份登录MySQL:`mysql -u root -p`。
7. 输入root用户的密码。
8. 授予新用户所有权限:`GRANT ALL PRIVILEGES ON lr_pro.* TO 'general'@'%';`。
9. 刷新权限:`FLUSH PRIVILEGES;`。
相关问题
grant all privileges on *.* to 'chen'@'%' with grant option; ERROR 1410 (42000): You are not allowed to create a user with GRANT如何解决
在MySQL中,授权命令GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;可以授予root用户在所有数据库和所有表上的所有权限,并允许root用户授予其他用户权限。但是,当我们尝试使用此命令创建用户时,可能会遇到错误“ERROR 1410 (42000): You are not allowed to create a user with GRANT”。这是因为在MySQL 8.0版本中,GRANT命令的WITH GRANT OPTION子句被限制为仅适用于授予的权限,而不是创建新用户。
为了解决这个问题,我们可以使用以下两种方法之一:
1.使用CREATE USER命令创建新用户,然后使用GRANT命令授予所需的权限。例如,要创建名为chen的用户并授予其在所有数据库和所有表上的所有权限,可以使用以下命令:
```mysql
CREATE USER 'chen'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'chen'@'%' WITH GRANT OPTION;
```
2.使用ALTER USER命令更改现有用户的权限。例如,要授予名为root的用户在所有数据库和所有表上的所有权限,并允许其授予其他用户权限,可以使用以下命令:
```mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
ALTER USER 'root'@'%' WITH GRANT OPTION;
```
阅读全文
相关推荐
















