Can't connect to remote MySQL server with error 61
mysql
Solution
Check if your mysql server is listening on a socket with netstat:
netstat -tulpen
and search for 3306.
If not or if only on localhost, check my.cnf and search the `bind-address` line and change it to:
bind-address = 0.0.0.0
then restart the server and try again.
Problem
When I tried to connect the remote MySQL server by using command line `mysql -h <remote-ip> -u any_existing_users -p` or any other mysql client such as phpmyadmin, it didn't work and the error hint was ``` ERROR 2003 (HY000) Can't connect to MySQL server on '<remote-ip>' (61) ``` But, when I tried `ssh <remote-ip>` and connected the MySQL locally by `mysql -u root -p`, there is no problem. Here is part of the user table(`SELECT User, Host FROM mysql.user;`): ``` +------------------+----------------+ | User | Host | +------------------+----------------+ | root | % | | other_users | <remote-ip> | | root | localhost | +------------------+----------------+ ``` Here is the iptable: ``` Chain INPUT (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT) num target prot opt source destination Chain RH-Firewall-1-INPUT (2 references) num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255 3 ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0 5 ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353 6 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631 7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631 8 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 9 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 10 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited 11 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:3306 ``` So, what's the problem?