我剩下的简单任务就是安装 moodle。
我通过 VPN 连接到 2 个服务器,一个用于数据库,另一个用于 apache/php
服务器 1 必须通过 LAN 连接到服务器 2 上的 mySQL 数据库
我添加了一个具有以下权限的用户:+---------------+------------+ | host | user | +---------------+------------+ | % | mir | | 10.10.40.15 | mir | | xxxx | mir |
| localhost | mir |暂时禁用防火墙
确保我的用户名/密码组合正确,刷新权限,重新启动 mysqld
我想要 /etc/my.cnf ..如果我尝试添加 port=3306 bind-address=10.10.40.15 或任何不同于 0.0.0.0 或 127.0.0.1 的内容 -mysql 无法重启
我阅读并尝试了许多论坛和页面,并向朋友寻求建议,但都不起作用
我的问题是:
- mysql 是否需要安装任何网络扩展,如何知道安装中没有缺少任何内容
- 任何故障排除技巧,任何关于如何修复此问题的想法,任何一步一步的检查清单,我是否遗漏了一些简单/愚蠢的东西,请让我知道任何想到的东西
感谢您对这个周五晚上工作中遇到的问题的反馈 :P
答案1
问题不是来自mysql方面,而是来自php / apache服务器,我所要做的就是“setsebool -P httpd_can_network_connect = 1
显然,请求的服务器连接出现了问题。
这让我浪费了比我应该浪费的更多的时间。所以我想我会留下评论来记录一个可能的解决方案
答案2
- 它正在监听任意端口吗?
netstat -nap | grep -i mysql
- 如果是的话——您的客户端是否有可见的流量?
tcpdump -i [interface_name] -tnn 主机 [client_ip] 和端口 [mysql_port_number]
- 如果有流量... 是否有任何回复?
tcpdump -i [接口名称] -tnn 主机 [客户端 IP]
答案3
遗憾的是,您没有描述连接中断的具体位置或任何错误消息。因此,我尝试在此列出我的一般故障排除步骤(如果这太过新手,请见谅):
- 确保您的 Web 服务器可以 ping 数据库服务器 - 如果有必要 - 确保防火墙允许这样做(稍后是 icmp 和 3306)
- 如果 1 可以,请确保 Web 服务器可以 telnet 到数据库服务器中的 mysql 端口。
- 如果 2 没问题,请确保您可以使用任何其他用户名/密码登录(从任何主机打开任何用户名/密码,或使用 root 用户名进行快速测试)
您坚持这 3 个中的哪一个?我们将更深入地探讨...
答案4
谢谢大家的反馈,目前我
mysql -u mir -h 10.10.40.15 -p 输入密码:错误 2003 (HY000):无法连接到‘10.10.40.15’上的 MySQL 服务器 (111)
但是当我
mysql -u mir -p 输入密码:欢迎使用 MySQL 监视器。命令以 ; 或 \g 结尾。您的 MySQL 连接 ID 是 2 服务器版本:5.0.77 源分发
当我
telnet> open 10.10.40.13 3306 正在尝试 10.10.40.13... 已连接到 10.10.40.13 (10.10.40.13)。转义字符为 '^]'。4 5.0.77dAWsZLLz,Aq;m6cn$`=NOConnection 由外部主机关闭。
至于 netstat,这是输出
netstat -nap | grep -i mysql tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 16698/mysqld
unix 2 [ACC] 流监听 264736 16698/mysqld /var/lib/mysql/mysql.sock
对于 tcp dump,捕获了 1403 个数据包,过滤器接收了 1404 个数据包,内核丢弃了 0 个数据包
我可以 ping 这两个地址
有任何想法吗?非常感谢您的反馈