gpt4 book ai didi

mysql - grant 命令在 mysql 中不起作用

转载 作者:行者123 更新时间:2023-11-29 06:07:52 24 4
gpt4 key购买 nike

我已经以 root 身份登录并输入了以下命令

GRANT ALL PRIVILEGES ON *.* TO 'hive'@'master'  WITH GRANT OPTION;

结果是

Query OK, 0 rows affected, 1 warning (0.00 sec)

警告信息是

Warning | 1285 | MySQL is started in --skip-name-resolve mode; you must restart it without this switch for this grant to work

然后我检查用户“hive”的授权

mysql> show grants for hive;
+-----------------------------------------------------------------------------------------------------+
| Grants for hive@% |
+-----------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'hive'@'%' IDENTIFIED BY PASSWORD '*4DF1D66463C18D44E3B001A8FB1BBFBEA13E27FC' |
+-----------------------------------------------------------------------------------------------------+

1 row in set (0.00 sec)

我试过了

show grants for 'hive'@'master' 
ERROR 1141 (42000): There is no such grant defined for user 'hive' on host 'master'

为什么 grant 命令在这里不起作用?


我在 /etc/my.cnf 中禁用了 skip-name-resolv 并且它有效。 http://mysql-forum.ch/archive/index.php?thread-5.html我认为警告主要是由于使用主机名“master”而不是 ip 地址引起的。

但是在/etc/my.cnf中设置skip-name-resolv disabled是否合适,或者还有其他选择吗?

最佳答案

那里的 grant 语句没有问题,您使用的 show grants 语句不正确。作为 show grants 上的 MySQL 文档说:

To name the account, use the same format as for the GRANT statement; for example, 'jeffrey'@'localhost'. If you specify only the user name part of the account name, a host name part of '%' is used.

'hive'@'master'和'hive'@'%'用户不同。要显示 'hive'@'master' 用户的授权,请在 show grants 语句中使用完整的用户帐户名。

关于mysql - grant 命令在 mysql 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40220882/

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