无法从 Centos 5 上的本地主机连接到 MySQL

无法从 Centos 5 上的本地主机连接到 MySQL

我在新的 VPS 上全新安装了 Centos 5.5,MySQL 似乎无法解析关键字“localhost” - 如果我改用 127.0.0.1,它就可以正常工作。我检查了 /etc/hosts 文件,如下所示:

# Auto-generated hostname. Please do not remove this comment.
xxx.xxx.xxx.xxx 224136.xxxxxxxx.com localhost 224136  224136 localhost.localdomain
127.0.0.1       localhost

(最后一行是我自己添加的)...但 localhost 关键字仍然无法识别。例如,当我尝试使用 Navicat 通过 SSH 隧道连接到我的 MySQL 服务器时,出现错误:

1130 - Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server

你知道问题可能出在哪里吗,谢谢

答案1

为了确定 MySQL 是罪魁祸首,请确保您拥有 root@localhost 和[电子邮件保护]作为 MySQL 中定义的单独用户。

执行以下操作以确保 root 用户可以进入 MySQL:

SHOW GRANTS FOR 'root'@'localhost';
SHOW GRANTS FOR 'root'@'127.0.0.1';

root@localhost 通过 mysql.sock 文件连接

[电子邮件保护]通过 TCP/IP 连接

在解决网络问题之前,您可能需要使用 mysql 客户端的 --protocol 选项来指定协议(tcp、socket、pipe、memory)

答案2

/etc/hosts 的第一行上已经有 localhost。您应该从以“xxx.xxx.xxx.xxx”开头的行中删除 localhost

相关内容