简介:在MySQL 8.0及更高版本中,无法在授权时创建用户。要解决这个问题,你需要先创建用户,然后再为其授权。本文将为你提供解决方案。
在MySQL 8.0及更高版本中,如果你尝试在授权时创建用户,可能会遇到“You are not allowed to create a user with GRANT”错误。这是因为新版本的MySQL不允许在授权时同时创建用户。要解决这个问题,你需要分两步进行:先创建用户,然后再为其授权。以下是具体的解决方法:
这将返回当前登录用户的用户名和主机名。
SELECT CURRENT_USER();
CREATE USER语句创建一个新用户,指定用户名、主机名和密码。例如:将
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
newuser替换为你要创建的用户名,localhost表示该用户只能从本地主机连接到MySQL服务器,password替换为用户的密码。GRANT语句为新用户授权,指定要授予的权限和数据库。例如:将
GRANT ALL PRIVILEGES ON database.* TO 'newuser'@'localhost';
database替换为你要授权的数据库名,newuser替换为你要授权的用户名,localhost表示该用户只能从本地主机连接到MySQL服务器。ALL PRIVILEGES表示授予用户所有权限。