还有一个“无法通过networking连接到MySQL”的问题 – 但我认真地尝试了一切

我只剩下安装moodle的简单任务。

我VPN到2台服务器,一个用于数据库和另一个Apache / PHP

服务器1必须通过LAN连接到服务器2上的mySQL数据库

  1. 我添加了一个用户以下priveleges:+ ————— + ———— + | 主机| 用户| + ————— + ———— + | %| mir | | 10.10.40.15 | mir | | xxxx | mir |
    | localhost | mir |

  2. 禁用防火墙临时

  3. 确保我的用户名/密码组合是正确的,刷新priveleges,重新启动mysqld

  4. 我wnt /etc/my.cnf ..如果我尝试添加端口= 3306 bind-address = 10.10.40.15或任何不同于0.0.0.0或127.0.0.1 – mysql将不会重新启动

  5. 我阅读并尝试了许多论坛和网页,并要求朋友提示,但没有任何工作

所以我对你的问题:

  • 有什么networking扩展需要为MySQL安装,我怎么知道什么都没有从安装丢失
  • 任何疑难解答提示,任何想法如何解决这个问题,任何一步一步的检查清单,我错过了一些简单/愚蠢的,请任何想到的东西,让我知道

感谢您在这个星期五晚上工作中的反馈:P

问题不是从MySQL方面,而是从PHP / Apache服务器,我所要做的只是“setsebool -P httpd_can_network_connect = 1

显然有一个问题,让连接走出应该请求的服务器。

它使我浪费比我应该更多的时间..所以我想我会留下一个评论来logging一个可能的修复

  1. 它是否在任何端口上进行监听?

netstat -nap | grep -i mysql

  1. 如果是 – 客户端是否有可见的stream量?

tcpdump -i [接口名称] -tnn主机[client_ip]和端口[mysql_port_number]

  1. 如果有交通…是否有任何回应发回?

tcpdump -i [interface_name] -tnn主机[client_ip]

可惜你没有描述连接断开的地方或任何错误信息。 所以在这里,我尝试把我的一般故障排除步骤(道歉,如果这太n00b头脑):

  1. 确保你的web服务器可以ping数据库服务器 – 如果有必要的话 – 确保防火墙允许这个(icmp和3306稍后)
  2. 如果1确定,请确保Web服务器可以telnet到数据库服务器的mysql端口。
  3. 如果2没问题,请确保您可以使用任何其他用户名/密码login(打开任何主机中的任何用户名,或使用root用户名进行快速testing)

你坚持的3个中的哪一个 – 我们会更深入…

感谢球员反馈,目前当我

mysql -u mir -h 10.10.40.15 -pinput密码:ERROR 2003(HY000):无法连接到'10.10.40.15'(111)上的MySQL服务器

但是当我

mysql -u mir -pinput密码:欢迎使用MySQL监视器。 命令以; 或\ g。 您的MySQL连接ID是2服务器版本:5.0.77源分配

当我

telnet> open 10.10.40.13 3306 Trying 10.10.40.13 …连接到10.10.40.13(10.10.40.13)。 转义字符是'^]'。 4 5.0.77dAWsZLLz,Aq; m6cn $`= NO由外部主机closures。

至于netstat,这里是输出

netstat -nap | grep -i mysql tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 16698 / mysqld
unix 2 [ACC] STREAM LISTENING 264736 16698 / mysqld /var/lib/mysql/mysql.sock

为tcp转储1403个数据包捕获的1404个数据包被filter0丢弃的内核数据包

我可以ping这两个地址

任何进一步的想法 – 真的感谢您的反馈