ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.165' (113)

Posted 倔强小梦 ☺

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.165' (113)相关的知识,希望对你有一定的参考价值。

原文转自:http://blog.csdn.net/chengyuqiang/article/details/54285857

1、程序报错
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link
2、尝试远程连接数据库
[[email protected] ~]# mysql -h192.168.1.165 -uroot -p123456
ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘192.168.1.165‘ (113)

3、问题找到了,不能连接远程数据库

4、测试是否能ping到远程机器

[[email protected] ~]# ping 192.168.1.165

PING 192.168.1.165 (192.168.1.165) 56(84) bytes of data.
64 bytes from 192.168.1.165: icmp_seq=1 ttl=128 time=0.776 ms
64 bytes from 192.168.1.165: icmp_seq=2 ttl=128 time=1.26 ms
64 bytes from 192.168.1.165: icmp_seq=3 ttl=128 time=1.19 ms
^C
--- 192.168.1.165 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2008ms
rtt min/avg/max/mdev = 0.776/1.078/1.268/0.215 ms

说明网络是连通的,再测试以下端口号


5、登录到数据库端

[[email protected] ~]# MySQL -uroot -p123456
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 11
Server version: 5.5.52-MariaDB MariaDB Server
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.
MariaDB [(none)]> select user,host,password from mysql.user;
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | 127.0.0.1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | ::1       | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+------+-----------+-------------------------------------------+

添加%

MariaDB [(none)]> grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘123456‘;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)


再次远程访问:

[[email protected] ~]# mysql -h192.168.1.165 -uroot -p123456
ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘192.168.1.165‘ (113)


6、还是无法连接到数据库,可能不能访问端口号,再次测试

[[email protected] ~]# telnet 192.168.1.165 3306
Trying 192.168.1.165...
telnet: connect to address 192.168.1.165: No route to host

找到问题所在了,防火墙屏蔽了这个端口号。

7、直接关闭防火墙即可

[[email protected] ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
[[email protected] ~]# service firewalld stop
Redirecting to /bin/systemctl stop  firewalld.service

再次远程访问

[[email protected] ~]# telnet 192.168.1.165 3306
Trying 192.168.1.165...
telnet: connect to address 192.168.1.165: No route to host
[[email protected] ~]# mysql -h192.168.1.165 -uroot -p123456
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 7
Server version: 5.5.52-MariaDB MariaDB Server

Copyright (c) 2000, 2016, oracle, MariaDB Corporation Ab and others.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

MariaDB [(none)]>

成功了。


ERROR 2003 (HY000): Can‘t connect to MySQL server问题

解决办法总结:

1、确定远程机器的防火墙关闭,或在防火墙允许3306端口号

2、确定数据库允许远程访问,通过语句grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘123456‘即可。

 





























































以上是关于ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.165' (113)的主要内容,如果未能解决你的问题,请参考以下文章

ERROR 2003 (HY000): Can't connect to MySQL server on 'ip'(111)

ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

MySQL显示ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)解决方法

ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061),mysql服务已启动(示例代码

错误 2003 (HY000): 无法连接到 MySQL 服务器 (111)