在某些情况下无法访问mysql服务器

时间:2012-02-21 18:36:15

标签: mysql

这是我的情况:

  • 我的服务器运行mysqld。
  • telnet localhost 3306提供访问权限
  • telnet 127.0.0.1 3306提供访问权限
  • telnet my_host_name 3306不提供访问权
  • telnet ip_of_my_host_name 3306不提供访问权
  • 我检查了端口:3306已打开。我的防火墙不会阻止此端口

在mysql日志文件中,我有一条关于“将来”日志序列的消息。

问题与此消息之间是否存在关系?

我的数据库使用Innodb。

4 个答案:

答案 0 :(得分:1)

您的问题似乎与mysql守护程序的绑定地址有关。

您可以查看here以获取有关绑定到多个地址( localhost 公共IP 地址)的其他信息。

答案 1 :(得分:0)

检查https://dev.mysql.com/doc/refman/5.0/en/server-options.html#option_mysqld_skip-networking

许多发行版都将此设置设为默认值。在你的my.cnf中,寻找:

skip-networking

并评论说出来。

答案 2 :(得分:0)

如果您刚安装了MySQL,默认情况下会禁用远程访问。如果是这种情况,您需要编辑配置以允许它并重新启动mysqld。关于如何执行此操作有几个指令集,such as this one

答案 3 :(得分:0)

由于您可以连接到localhost,因此我们知道您已配置绑定地址设置。

在my.cnf(或my.ini)文件中查找以下行:

bind-address = 127.0.0.1

以上行只允许您连接到本地地址。 MySQL将自己绑定到环回IP,而不是别的。

为了能够连接到机器上的所有IP地址(绑定到所有地址),包括本地地址,请将配置更改为以下内容:

bind-address = 0.0.0.0

或者,由于0.0.0.0是默认值,因此您可以将其注释掉:

#bind-address = 0.0.0.0

然后重启MySQL服务器。

您的错误消息与此问题无关。