There is an account TT that can’t connect to MySQL server on ‘< remote-ip>’ ( 61)
1. Check whether the user has remote login permission
mysql> SELECT User, Host FROM mysql.user;
+-----------+-----------+
| User | Host |
+-----------+-----------+
| tt | % |
| mysql.sys | localhost |
| root | localhost |
| Laily | % |
| ttt | % |
+-----------+-----------+
5 rows in set (0.00 sec)
Obviously, TT is allowed to log in from other servers
2. Check whether MySQL server has monitored port 3306
[root@centos-linux ~]# 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 0.0.0.0:22 0.0.0.0:* LISTEN 0 16801 1507/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 0 17222 1970/master
tcp6 0 0 :::3306 :::* LISTEN 27 46396 22054/mysqld
tcp6 0 0 :::22 :::* LISTEN 0 16803 1507/sshd
tcp6 0 0 ::1:25 :::* LISTEN 0 17223 1970/master
udp 0 0 0.0.0.0:68 0.0.0.0:* 0 49600 22999/dhclient
udp 0 0 0.0.0.0:43504 0.0.0.0:* 0 48850 22999/dhclient
udp6 0 0 :::47875 :::* 0 48851 22999/dhclient
I have no problem here. If I don’t monitor port 3306 or only monitor localhost
(0.0.0.0 means monitor all), add the following line in My. CNF
bind-address = 0.0.0.0
3. If the server is centos7, add MySQL service to the firewall
[root@centos-linux ~]# sudo firewall-cmd --zone=public --permanent --add-service=mysql
success
[root@centos-linux ~]# sudo systemctl restart firewalld
After I restart the firewall, I can access it normally