📌  相关文章
📜  用户 'root'@'localhost' 的 mysql 访问被拒绝 - SQL (1)

📅  最后修改于: 2023-12-03 15:40:55.441000             🧑  作者: Mango

用户 'root'@'localhost' 的 mysql 访问被拒绝 - SQL

如果你遇到 用户 'root'@'localhost' 的 mysql 访问被拒绝 这样的错误,它意味着你正在尝试以 root 用户身份连接到 MySQL 数据库,但是因为某些原因连接被拒绝了。

这个错误通常出现在以下情况中:

  • root 用户没有设置正确的密码。
  • MySQL 服务器拒绝了来自本地主机的连接。
  • MySQL 服务器未启动或正在运行有问题。

要解决这个错误,你可以尝试以下方法:

1. 设置正确的 root 用户密码

你可以尝试重新设置 root 用户的密码,以确保你使用的是正确的密码。

可以通过以下命令连接到 MySQL 服务器:

$ mysql -u root -p

如果它要求输入密码,请尝试输入空密码。

然后输入以下命令来更改 root 用户的密码:

> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NEW_PASSWORD';

如果你成功更改了密码,你可以通过以下命令退出 MySQL:

> exit;

之后你可以使用以下命令重新连接到 MySQL:

$ mysql -u root -p

输入你刚刚设置的新密码,然后你应该可以成功连接到 MySQL。

2. 确认本地连接设置

如果你的 MySQL 服务器设置为仅允许来自本地主机的连接,你可以尝试更改它以允许其他主机的连接。

你可以编辑 MySQL 服务器的配置文件,通常是 /etc/mysql/my.cnf,然后找到以下行:

bind-address = 127.0.0.1

将其更改为以下行,以允许任何主机连接:

bind-address = 0.0.0.0

保存并关闭文件,然后重新启动 MySQL 服务器:

$ sudo service mysql restart

尝试重新连接到 MySQL,你应该不会再收到 'root'@'localhost' 的 mysql 访问被拒绝 的错误。

3. 确认 MySQL 服务器正在运行

如果以上两个方法都无法解决问题,你可能需要检查 MySQL 服务器是否正在运行。

你可以使用以下命令检查 MySQL 服务器的状态:

$ sudo service mysql status

如果你可能需要启动 MySQL 服务器。你可以使用以下命令启动它:

$ sudo service mysql start

尝试重新连接到 MySQL,你应该不会再收到 'root'@'localhost' 的 mysql 访问被拒绝 的错误。

以上就是解决 用户 'root'@'localhost' 的 mysql 访问被拒绝 错误的一些方法。希望这个介绍能够帮助你解决问题。

代码片段:

$ mysql -u root -p
> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NEW_PASSWORD';
> exit;
$ mysql -u root -p
$ sudo service mysql restart
$ sudo service mysql status
$ sudo service mysql start