问题描述
我有一个在 Debian 服务器上运行的 MySQL 实例,我可以毫无问题地在本地连接到它.但是,我无法远程连接到它.当我从命令行尝试此操作时,出现以下错误:
I have a MySQL instance running on a Debian server and I can connect to it locally with no problems. However, I am unable to connect to it remotely. When I try this from my command line I get the following error:
ERROR 2003 (HY000): Can't connect to MySQL server on '<server-ip>' (110)
我已将用户添加到 mysql 作为 'user'@'*' 和 'user'@'localhost'.此服务器中的 skip-networking 设置为 false 并且绑定地址在 my.cnf 中被注释掉.我还尝试使用以下命令在 iptables 中打开端口 3306:
I've added the user to mysql as 'user'@'*' and 'user'@'localhost'. skip-networking in this server is set to false and the bind-address is commented out in my.cnf. I've also attempted to open port 3306 in iptables using the following command:
/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
这是我使用 iptables -L 检索到的所有 iptable 防火墙规则的列表:
Here is a listing of all my iptable firewall rules, which I retreived using iptables -L:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
REJECT tcp -- anywhere anywhere tcp dpt:auth reject-with icmp-port-unreachable
ACCEPT icmp -- anywhere anywhere icmp type 8 code 0 state NEW,RELATED,ESTABLISHED,UNTRACKED
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp spts:1024:65535 dpt:ftp state NEW
ACCEPT tcp -- anywhere anywhere tcp spts:1024:65535 dpt:ssh state NEW
ACCEPT tcp -- anywhere anywhere tcp spts:1024:65535 dpt:www state NEW
ACCEPT tcp -- <my-server> anywhere tcp spts:1024:65535 dpt:mysql state NEW
ACCEPT tcp -- anywhere anywhere tcp dpts:49152:65534 state NEW
ACCEPT tcp -- anywhere anywhere tcp dpt:mysql
LOG all -- anywhere anywhere limit: avg 5/min burst 5 LOG level debug prefix `iptables denied: '
ACCEPT tcp -- anywhere anywhere tcp dpt:mysql
LOG tcp -- anywhere anywhere tcp dpt:mysql LOG level debug
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
有人知道我应该从这里去哪里吗?
Does anyone have any idea where I should go from here?
推荐答案
根据您的回复,您需要查找您和服务器之间是否有设备阻止了您的连接.您还应该确保您可以在登录到服务器时在该服务器的以太网地址上远程登录到 3306...如果不能,您可能没有在 my.xml 中将服务绑定到以太网.cnf
...见bind-address
参数.
Based on your response, you need to find if there is a device between you and the server that blocks your connection. You should also ensure that you can telnet to 3306 on that server's ethernet address when logged into the server... if not, you probably have not got the service bound to the ethernet in my.cnf
... see the bind-address
parameter.
这篇关于尝试连接到远程 MySQL 主机(错误 2003)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!