gpt4 book ai didi

mysql - 无法使用拥有所有权限的用户连接到 MySQL 数据库

转载 作者:行者123 更新时间:2023-11-30 21:52:23 25 4
gpt4 key购买 nike

让我描述一下我的问题:我有一个只能由一个用户(管理员除外)操作的数据库。我通过 (CREATE USER 'dbms'@'localhost' IDENTIFIED BY 'password';) 创建了这个用户。然后我创建了数据库本身 (CREATE DATABASE dbms_db;) 并授予用户所有权限(GRANT ALL PRIVILEGES ON dbms_db.* to 'dbms'@'localhost';)。最后,我刷新了权限(FLUSH PRIVILEGES;)。即使我运行 SHOW GRANTS FOR 'dbms'@'localhost'; 结果也是:

+------------------------------------------------------------+
| Grants for dbms@localhost |
+------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'dbms'@'localhost' |
| GRANT ALL PRIVILEGES ON `dbms_db`.* TO 'dbms'@'localhost' |
+------------------------------------------------------------+

但是当我尝试使用该用户连接到数据库时,访问被拒绝。

$ mysql -h localhost -u dbms -D dbms_db -p 
> ERROR 1044 (42000): Access denied for user 'dbms'@'localhost' to database 'dbms_db'

澄清一下,如果我使用 root 用户,我可以访问数据库。此外,如果我没有使用 -D 标志指定数据库,我可以使用 dbms 用户连接到 MySQL 客户端。

最佳答案

1.尝试查看mysql数据库中的user表,确保该账号有@localhost的登录权限。下图是我数据库中的图片; enter image description here2.如果您在一台计算机上使用虚拟机,那么您必须完全使用@ip 而不是@localhost。

关于mysql - 无法使用拥有所有权限的用户连接到 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46677620/

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