I have several machines running CentOS, one of which is set up as the mysql server. I had been running this for a while, and was able to connect to mysql from the remote machines with no problem, but after a power outage and restart of all the PCs, I am now getting
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.22.6' (113)
On the server machine, I am able to locally connect to the MySQL server with no problem.
Some cursory searching tells me that 113 means "no route to host", so it looks like this is a network problem. I am able to ping 192.168.22.6 from the client machine, as well as SSHing into it.
On the server PC, if I run netstat -lnp | grep mysql
, I get:
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1588/mysqld
unix 2 [ ACC ] STREAM LISTENING 13448 1588/mysqld /var/lib/mysql/mysql.sock
So it appears that it is listening on port 3306. However, if I go to the client machine and run nc -vz 192.168.22.6 3306
, I get:
nc: connect to 192.168.22.6 port 3306 (tcp) failed: No route to host
I'm thinking this might be a firewall issue, and when on the server I run iptables --list-rule | grep 3306
I get no results. Does this mean that port 3306 is blocked by the firewall (even though netstat shows it as listening)? If so, how do I add an exception for that port? Or am I on completely the wrong track here?
Edit: I should also note that my my.cnf file looks like this:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
max_connections=500
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#bind-address = 192.168.22.6
slow_query_log=1
log-slow-queries = /var/log/mysql-slow.log
long_query_time = 10
log-queries-not-using-indexes
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
So, I don't have any skip-networking. I'm not sure if the bind-address not being set is an issue?