如何在 MySQL 中向用户授予数据库创建权限

Abh*_*hek 12 mysql

以下命令为用户“admin”提供所有数据库中的所有权限。但它不允许“管理员”创建数据库。

GRANT ALL ON * . * TO 'admin'@'localhost'; 
Run Code Online (Sandbox Code Playgroud)

如何为“管理员”提供创建数据库的访问权限?

当我尝试创建数据库时,出现以下错误 -

错误 1044 (42000):用户 'admin'@'localhost' 对数据库 'newdb' 的访问被拒绝

mys*_*ser 6

所有权限包括“所有”权限,除了“wITH GRANT OPTION” ......因此上面的命令也可以让管理员用户创建数据库。

您可能想要显示您遇到的错误。请注意,在上面的 GRANT 中,您也没有为 admin 用户指定密码。

更新:

您应该能够执行以下操作:

以root身份登录并创建用户:

$] mysql -uroot -p
mysql> grant all privileges on *.* to 'admin'@'localhost';
Run Code Online (Sandbox Code Playgroud)

以管理员身份登录(无需密码):

$] mysql -uadmin -p
mysql> create database admin;
Run Code Online (Sandbox Code Playgroud)

当您登录时,您可以按如下方式验证您的权限:

mysql> show grants;

或者

mysql> show grants for current_user();

mysql> select current_user() 将显示您登录的用户。