gpt4 book ai didi

尽管设置了密码,MySQL 仍允许无密码连接

转载 作者:可可西里 更新时间:2023-11-01 06:32:27 25 4
gpt4 key购买 nike

我正在设置一个 MySQL 服务器(实际上是一个 Percona 服务器,但这应该无关紧要)并且我正在为 root 用户设置一个密码。最后,我有这个:

mysql> select host, user, password from user;
+-----------+------------------+-------------------------------------------+
| host | user | password |
+-----------+------------------+-------------------------------------------+
| localhost | root | *huge string here, no kidding |
| localhost | debian-sys-maint | *another huge string here |
+-----------+------------------+-------------------------------------------+
2 rows in set (0.00 sec)

我认为这不应该允许 root 用户在没有密码的情况下连接。但是,如果我转到命令行,我可以使用 mysql -u root 或仅使用 mysql 进行连接。如果我执行 mysql -u root -p 并输入密码,然后我得到 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:否)。

谁能向我解释如何确保用户只能使用密码连接?

编辑:如果相关,我设置密码 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('somethinghere');

编辑:show grants的输出,它表明我使用密码登录但我没有。

mysql> show grants;
+----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@localhost |
+----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*huge string here, no kidding' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION |
+----------------------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

最佳答案

捂脸。结果发现/root 上有一个带有用户名和密码的 .my.cnf,因此在使用 root 帐户(这就是我正在使用的)时只能使用 mysql 登录。它是由 Chef 食谱创建的(percona 是通过 Chef 安装的),但我并不知道。

提示是查看show grants 的输出。即使我没有输入密码,它仍然说我输入了一个,所以一定有一个地方!

关于尽管设置了密码,MySQL 仍允许无密码连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15866237/

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