MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'的问题

问题描述:

从一台linux远程连接另一台linux上的MySQL, 出现ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.85'(111)错误。

[mysql@vvmvcs0 ~]$ mysql -hxxx.xxx.xxx.85 -uroot -pwww.2cto.com

ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.85' (111)

[mysql@vvmvcs0 ~]$ perror 111

OS error code 111: Connection refused

查看error Code原因

问题分析:

1,可能是防火墙和selinux问题,查看后防火墙没有设置任何规则,selinux是关闭的

2,可能网络连接问题,远程ping xxx.xxx.xxx.85 ,能ping通,排除此情况

[mysql@vvmvcs0 ~]$ ping xxx.xxx.xxx.85

PING xxx.xxx.xxx.85 (xxx.xxx.xxx.85) 56(84) bytes of data.

64 bytes from xxx.xxx.xxx.85: icmp_seq=1 ttl=63 time=0.230 ms

3,排查可能由于85上my.cnf里配置了skip_networking或者bind_address,只允许本地socket连接

3.1 在[mysqld]下设置skip_networking,

知识说明: 这使MySQL只能通过本机Socket连接(socket连接也是本地连接的默认方式),放弃对TCP/IP的监听,当然也不让本地java程序连接MySQL(Connector/J只能通过TCP/IP来连接)。

3.2 在[mysqld]下可能使用了bind_address=127.0.0.1(当然也可以是其他ip)

通过查看了my.cnf文件,以上两个都是没设置的,排除掉这两种情况

4,排查DNS解析问题,检查是否设置了: skip_name_resolve。 这个情况肯定不可能,因为我用的是ip,不是主机名。

[mysqld]

skip_name_resolve

知识说明:这个参数加上后,不支持主机名的连接方式。

5, 排查用户和密码问题,是否对用户授权, 其实用户和密码的错误,不会出现111的,所以排除用户密码问题

ERROR 1045 (28000): Access denied for user 'root'@'XXXX' (using password: YES)

6,排查--port问题,有可能85的MySQL port不是默认3306, 这样我远程连接时,没有指定--port,用的是3306, 而85上没有对3306进行监听。

ps -ef | grep mysqld

果然是: 85上的MySQL使用的是3308 port.

最终连接方式:加上--port=3308

[mysql@vvmvcs0 ~]$ mysql -hxxx.xxx.xxx.85 -uroot -p --port=3308

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

其实根本原因是:

1. MySQL本地连接,如果不指mysql --protocol=tcp, 连接默认是socket方式连接的。这点大家都知道。  www.2cto.com

2, MySQL socket连接是根据sokect文件来的,与--port不相关的,如果是一机多实例,则用-S(或者--socket=name )来指定连接哪个实例。

就是这个socket连接对--port无识别效果,导致排查这个问题这么久。

见下面: 其实85上只有一个port为3308的MySQL实例,但是用3306仍然是连接上此实例,说明socket连接方式忽略--port参数。

-bash-3.2$ mysql -uroot --port=3308

Welcome to the MySQL monitor. Commands end with ; or \g.

mysql -uroot --port=3306

Welcome to the MySQL monitor. Commands end with ; or \g.

再次说明基础细节很重要啊。

附加:

经验之谈:

若这些办法都不行,还是报错,可以尝试把3306端口改成其他端口试下

终端连接mysql是出现error 2003_MySQL远程连接出现:ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'的问题...相关推荐

  1. MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'(111) 的问题

    装了个navicat ,然后去连接mysql服务器,一直连不上,一开始以为是防火墙问题,后来防火墙都关闭,  iptable服务关闭,还是不行,网上查了下:主要是因为设置了bind_address=1 ...

  2. Navicat远程连接服务器报错ERROR 2003 (HY000) Can‘t connect to MySQL server on ‘IP‘ (10061)

    1背景 Navicat远程连接服务器报错ERROR 2003 (HY000) Can't connect to MySQL server on 'IP' (10061) 但是6月份左右的时间还是可以正 ...

  3. 连接MySql报错【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) 1.先查看是否已经安装了M ...

  4. ERROR 2003 ( HY000 ) : Can ‘t connect to MySQL server on ‘ xxx.xxx.xxx.xxx ‘,

    远程登陆数据库的时候出现了下面出错信息 : ERROR 2003 ( HY000 ) : Can 't connect to MySQL server on ' xxx.xxx.xxx.xxx ', ...

  5. MySQL连接报ERROR 2003(HY000) Can‘t connect to MySQL server on ‘xxxIP‘(113)

    MySQL连接远程服务器ERROR 2003(HY000) 1.问题描述 [root@test ~]# mysql -h 192.168.xx.xx -uroot -p Enter password: ...

  6. ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (111)

    问题描述: 从一台linux远程连接另一台linux上的MySQL, 出现ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.x ...

  7. ERROR 2003 (HY000): Can‘t connect to MySQL server on (111)

    问题背景: [root@localhost ~]# mysql --host 192.168.1.11 --user=kari -p Enter password:  ERROR 2003 (HY00 ...

  8. mysql 2003 111_MySQL:解决ERROR 2003 (HY000): Can't connect to MySQL server on 'XXX' (111)

    摘要:MySQL 想从远程集群上访问本地的MySQL数据库,输入host,用户和密码报错 ERROR 2003 (HY000): Can't connect to MySQL server on 'X ...

  9. ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xx.xxx' (111)

    一.问题描述 远程连接mysql数据库的时候报如下错误 ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xx.xxx' (1 ...

最新文章

  1. 《精通Nginx》——1.2 从源代码安装Nginx
  2. 一个页面中多个window.onload = function(){}冲突问题解决思路
  3. VS2019中在源文件中如何使用自己写的头文件(保姆级教程)
  4. C++ Primer 第10章 习题 10.18
  5. matlab调用c语言驱动函数,[转载]Matlab调用C语言函数
  6. 向量场可视化matlab,Matlab向量场可视化
  7. LeetCode 604. 迭代压缩字符串
  8. python 超参数_OpenCV python sklearn随机超参数搜索的实现
  9. 天气预报\气象服务APP素材框架模板|UI及UX设计好帮手
  10. SVM支持向量机:分类、回归和核函数
  11. [置顶] 第五周项目一构造函数————4)参数初始化表
  12. 【学习笔记】《网络安全态势感知》第三章:网络安全数据采集与融合
  13. java出现圅_java获取汉字拼音首字母A
  14. 推挽电路原理及应用-上N下P以及下N上P
  15. 一小时看懂Ruby代码基本逻辑(自定义metasploit模块)
  16. 周爱民给程序员的十点建议
  17. 数字图像处理(MATLAB版
  18. Discussion 2
  19. 安卓在活动左上角添加返回键
  20. 外星世界,真实呈现,外星版Pokemon Go是如何做到的?

热门文章

  1. darpa E3和E5数据集bin文件数据读取
  2. 避免惊群以及负载均衡的原理与具体实现
  3. 数据仓库和数据集市的区别与联系
  4. PRTG Network Monitor
  5. Linux下进程间通信方式
  6. Android 调用铃声与振动
  7. [Java]图论进阶--最小生成树算法
  8. C++后端开发程序员应该彻底搞懂的【libevent网络库】,libevent组件构成以及编程要领丨Linux服务器开发丨服务端编程
  9. itools驱动组件安装失败怎么办
  10. 谷歌CEO桑达尔·皮查伊:区块链可能撼动云计算