Mysql连接报错排查解决记录

背景:

	系统:uos   server-1060e

​	运行环境kvm虚拟机

​	mysql版本:5.7.44, for Linux (x86_64)

问题现象:

宿主机重启后,kvm虚拟机内的mysql服务无法远程连接了。通过不同的客户端工具连接,报错现象分别如下:

dbeaver-ce 工具连接报错:

Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.

# 这个报错最常见的是java代码连接mysql服务报错,通常是因为连接数或者超时导致的。

navicat 工具连接报错:

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服务可被连接。

#iptables -A INPUT -d 192.168.0.0/22 -i eth0 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
#service iptables save
#service iptables restart

至此问题仍然没有解决,已经逐渐没有思路了。 突然想到mysql服务运行的kvm虚拟机环境是服务器系统,可能是因为防火墙导致的吧。但总不能因为一个mysql服务关闭防火墙,这不是长久之计。

查阅资料有一个解决方法,开放防火墙的3306端口,保证可被连接。

# 开放防火墙3306端口  mysql默认端口号
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 刷新防火墙
firewall-cmd --reload

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

通过不同方式远程连接mysql服务均成功,至此问题解决。

Mysql连接报错排查解决记录的更多相关文章

  1. Loadrunner参数化连接oracle、mysql数据源报错及解决办法

    Loadrunner参数化连接oracle.mysql数据源报错及解决办法 (本人系统是Win7 64,  两位小伙伴因为是默认安装lr,安装在 最终参数化的时候,出现连接字符串无法自动加载出来: 最 ...

  2. centos7中,mysql连接报错:1130 - Host ‘118.111.111.111’ is not allowed to connect to this MariaDB server

    客户端连接报错 这个问题是因为用户在数据库服务器中的mysql数据库中的user的表中没有权限. 解决步骤 1.连接服务器: mysql -u root -p 2.看当前所有数据库:show data ...

  3. mySql连接报错

    问题: mySql链接报错如下: 解决: 设定时区 在链接URL增加?serverTimezone=UTC,变为jdbc:mysql://localhost:3306/TEST?serverTimez ...

  4. 数据库安装后无法访问且mysql重启报错的解决方法

    数据库安装后无法访问,mysql重启报错: 或报错:MySQL is running but PID file could not be found 解决方法: 第一种方法:看磁盘是否已满:df –h ...

  5. DBeaver、Navicat、MySQL高频报错及解决方法,此文持续更新

    目录 第一坑,没有用管理员身份 第二坑,MySQL 服务无法启动 第三坑,报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost ...

  6. navicat for mysql 连接报错1251详细解决步骤

    我的是8.0的版本,因为比较新的mysql采用新的保密方式所以旧的似乎不能用,改密码方式:use mysql:ALTER USER 'root'@'localhost' IDENTIFIED WITH ...

  7. Navicat for Mysql 连接报错1251[已解决]

    因为mysql是8.0.11的版本,比较新的mysql采用新的保密方式所以旧的修改密码的方式似乎不能用, 新版本改密码方式: use mysql; ALTER USER 'root'@'localho ...

  8. navicat for mysql 连接报错1251的解决方法

    这是因为比较新的mysql版本采用新的保密方式,若要用navicat连接需要改使用到的用户的密码方式:use mysql:ALTER USER 'root'@'localhost' IDENTIFIE ...

  9. 【推荐】MySQL Cluster报错及解决方法(不断更新中)

    排查问题技巧: MySQL Cluster 自带了一个错误代码的查看的小程序.通过这个小东西我们可以方便的定位问题的原因. 这个程序就是 perror 在MYSQL安装目录的bin下面. 如报错:ER ...

  10. MySQL主从复制报错及解决方法

    mysql> show slave status \G *************************** 1. row *************************** Slave_ ...

随机推荐

  1. 买游戏本玩战锤40K ?ToDesk云电脑教你2元升级旧电脑,省钱!

    <战锤40K:星际战士>终于出续作了!不得不说这款多人射击游戏的热度实在太高啦,刚发布两天就登顶Steam销量第一名. <战锤40K:星际战士2>不仅继承了前作的精髓,更在画面 ...

  2. Solon Ioc 的魔法之注解注入器(也可叫虚空注入器)

    很多人惊叹于 Solon 的注入能力,一个注解怎可注万物??? 一.注解注入器 Solon Ioc 的四大魔法之一:注解注入器(BeanInjector<T extends Annotation ...

  3. 鸿蒙Banner图一多适配不同屏幕

    认识一多 随着终端设备形态日益多样化,分布式技术逐渐打破单一硬件边界,一个应用或服务,可以在不同的硬件设备之间随意调用.互助共享,让用户享受无缝的全场景体验.而作为应用开发者,广泛的设备类型也能为应用 ...

  4. GoLang协程Goroutiney原理与GMP模型详解

    本文原文地址:GoLang协程Goroutiney原理与GMP模型详解 什么是goroutine Goroutine是Go语言中的一种轻量级线程,也成为协程,由Go运行时管理.它是Go语言并发编程的核 ...

  5. 根据不同的dpi 媒体查询

    /* 默认样式 */ .element { width: 100px; height: 100px; background-color: blue; } /* 当设备像素比为1.5时,调整.eleme ...

  6. C#/.NET/.NET Core技术前沿周刊 | 第 12 期(2024年11.01-11.10)

    前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...

  7. kubernetesApi官方文档

    kubernetes API官方文档在github上经常打不开,于是就放在博客了,以下内容均复制于github All URIs are relative to http://localhost Me ...

  8. java公式解析器学习与开发(1)

    public class Evaluate { public static void main(String[] args) { Stack<String> ops = new Stack ...

  9. Windows下驱动安装

    推荐使用金山毒霸中的电脑医生进行驱动或DLL文件的扫描,查找并下载 dll文件下载地址:  https://www.wenjian.net/ 可以进行下载,告诉该文件的放置路径 其他:

  10. CVE-2023-32233 Linux 内核 UAF 漏洞分析与利用

    Linux 内核 nftable 模块在处理匿名 set 时存在 UAF. ‍ 漏洞分析 漏洞成因是 nf_tables_deactivate_set​ 在释放匿名 set 时没有将 set 的标记设 ...