gpt4 book ai didi

MySQL:授予对数据库的**所有**权限

转载 作者:IT老高 更新时间:2023-10-28 12:47:26 27 4
gpt4 key购买 nike

我已经创建了数据库,例如“mydb”。

CREATE DATABASE mydb CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'myuser'@'%' IDENTIFIED BY PASSWORD '*HASH';
GRANT ALL ON mydb.* TO 'myuser'@'%';
GRANT ALL ON mydb TO 'myuser'@'%';
GRANT CREATE ON mydb TO 'myuser'@'%';
FLUSH PRIVILEGES;

现在我可以从任何地方登录数据库,但不能创建表。

如何授予该数据库和(将来)表的所有权限。我无法在“mydb”数据库中创建表。我总是得到:

CREATE TABLE t (c CHAR(20) CHARACTER SET utf8 COLLATE utf8_bin);
ERROR 1142 (42000): CREATE command denied to user 'myuser'@'...' for table 't'

最佳答案

GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'%' WITH GRANT OPTION;

这就是我创建“ super 用户”权限的方式(尽管我通常会指定一个主机)。

重要提示

虽然这个答案可以解决访问问题,但 WITH GRANT OPTION 创建一个 MySQL 用户可以 edit the permissions of other users .

The GRANT OPTION privilege enables you to give to other users or remove from other users those privileges that you yourself possess.

出于安全原因,您不应将此类用户帐户用于公众可以访问的任何流程(即网站)。建议您create a user with only database privileges用于那种用途。

关于MySQL:授予对数据库的**所有**权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5016505/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com