Cannot connect to MySQL Server on RHEL 5.7
- by Jeffrey Wong
I have a standard MySQL Server running on Red hat 5.7. I have edited /etc/my.cnf to specify the bind address as my server's public IP address.
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
# Disabling symbolic-links is recommended to prevent assorted security risks ;
# to do so, uncomment this line:
# symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
bind-address=171.67.88.25
port=3306
And I have also restarted my firewall
sudo /sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
/sbin/service iptables save
The network administrator has already opened port 3306 for this box.
When connecting from a remote computer (running Ubuntu 10.10, server is running RHEL 5.7), I issue
mysql -u jeffrey -p --host=171.67.88.25 --port=3306 --socket=/var/lib/mysql/mysql.sock
but receive a ERROR 2003 (HY000): Can't connect to MySQL server on '171.67.88.25' (113).
I've noticed that the socket file /var/lib/mysql/mysql.sock is blank. Should this be the case?
UPDATE
The result of netstat -an | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
Result of sudo netstat -tulpen
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0 0 127.0.0.1:2208 0.0.0.0:* LISTEN 0 7602 3168/hpiod
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 27 7827 3298/mysqld
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 0 5110 2802/portmap
tcp 0 0 0.0.0.0:8787 0.0.0.0:* LISTEN 0 8431 3326/rserver
tcp 0 0 0.0.0.0:915 0.0.0.0:* LISTEN 0 5312 2853/rpc.statd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 7655 3188/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 0 7688 3199/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 0 8025 3362/sendmail: acce
tcp 0 0 127.0.0.1:2207 0.0.0.0:* LISTEN 0 7620 3173/python
udp 0 0 0.0.0.0:909 0.0.0.0:* 0 5300 2853/rpc.statd
udp 0 0 0.0.0.0:912 0.0.0.0:* 0 5309 2853/rpc.statd
udp 0 0 0.0.0.0:68 0.0.0.0:* 0 4800 2598/dhclient
udp 0 0 0.0.0.0:36177 0.0.0.0:* 70 8314 3476/avahi-daemon:
udp 0 0 0.0.0.0:5353 0.0.0.0:* 70 8313 3476/avahi-daemon:
udp 0 0 0.0.0.0:111 0.0.0.0:* 0 5109 2802/portmap
udp 0 0 0.0.0.0:631 0.0.0.0:* 0 7691 3199/cupsd
Result of sudo /sbin/iptables -L -v -n
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
6373 2110K RH-Firewall-1-INPUT all -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 RH-Firewall-1-INPUT all -- * * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 1241 packets, 932K bytes)
pkts bytes target prot opt in out source destination
Chain RH-Firewall-1-INPUT (2 references)
pkts bytes target prot opt in out source destination
572 861K ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
1 28 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 255
0 0 ACCEPT esp -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT ah -- * * 0.0.0.0/0 0.0.0.0/0
46 6457 ACCEPT udp -- * * 0.0.0.0/0 224.0.0.251 udp dpt:5353
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:631
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:631
782 157K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 120 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:443
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:23
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
4970 1086K REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Result of nmap -P0 -p3306 171.67.88.25
Host is up (0.027s latency).
PORT STATE SERVICE
3306/tcp filtered mysql
Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds
Solution
When everything else fails, go GUI! system-config-securitylevel and add port 3306. All done!