Mysql毗连报错排查解决记录

打印 上一主题 下一主题

主题 1795|帖子 1795|积分 5385

Mysql毗连报错排查解决记录

背景:
  1.         系统:uos   server-1060e
  2. ​        运行环境kvm虚拟机
  3. ​        mysql版本:5.7.44, for Linux (x86_64)
复制代码
问题现象:

宿主机重启后,kvm假造机内的mysql服务无法远程毗连了。通过差别的客户端工具毗连,报错现象分别如下:
dbeaver-ce 工具毗连报错:
  1. Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
  2. # 这个报错最常见的是java代码连接mysql服务报错,通常是因为连接数或者超时导致的。
复制代码
navicat 工具毗连报错:
  1. 2002 - Can't connect to MySQL server on '192.168.122.181' (115)
复制代码
远程终端cmd命令毗连报错:

通过尝试差别的客户端工具进行远程毗连均无法毗连成功,所以排除了客户端工具的问题。
开始排查mysql服务部署环境的问题,逐一进行分析。
1、现在kvm假造机内登录mysql服务,可以成功登录,说明服务运行正常。

2、登录数据库内部查看mysql服务配置
​        2.1 查看root用户是否开启远程登录权限,通过下图可以看出Host已经修改成'%',允许远程登录。

2.2 查看mysql服务配置,超时设置、毗连数设置、端口设置。配置信息均正常

​        通过排查分析mysql服务内部配置,可以排除mysql服务本身问题。
3、排查mysql服务运行环境问题
​        3.1 检查mysql服务运行状态,可以看出服务运行正常。

​        3.2 检查mysql服务端口监听,端口正常被监听。

​        3.3 配置iptables规则允许mysql服务可被毗连。
  1. #iptables -A INPUT -d 192.168.0.0/22 -i eth0 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
  2. #service iptables save
  3. #service iptables restart
复制代码

至此问题仍然没有解决,已经逐渐没有思路了。 突然想到mysql服务运行的kvm假造机环境是服务器系统,可能是因为防火墙导致的吧。但总不能因为一个mysql服务关闭防火墙,这不是长久之计。
查阅资料有一个解决方法,开放防火墙的3306端口,保证可被毗连。
  1. # 开放防火墙3306端口  mysql默认端口号
  2. firewall-cmd --zone=public --add-port=3306/tcp --permanent
  3. # 刷新防火墙
  4. firewall-cmd --reload
复制代码

开放防火墙端口后,再次尝试远程毗连mysql。



通过差别方式远程毗连mysql服务均成功,至此问题解决。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

莫张周刘王

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表