当前位置: 首页 > news >正文

记录一次排查本机连接linux虚拟机mysql报错经过

Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

Connection refused: getsockopt

这是具体报错显示

一开始走了很多弯路,比如显示设置本机连接mysql的连接配置参数

还有调整 MySQL 配置的wait_timeout参数,将其设置为更长的时间(如 24 小时),以避免因连接空闲时间过长而被自动断开。

等等。。。

然而发现都不行

直到去检查mysql的监听端口

$ netstat -lnp | grep mysql

一开始是只有下面两行,也就是MySQL 没有监听 TCP / IP 端口

这意味着:

  • MySQL 只监听了 Unix 套接字文件(用于本机连接)
  • MySQL 没有监听 TCP / IP 端口(无法接受远程连接)

去检查mysql关键配置:

  • skip-networking- 如果有这个参数,必须注释掉
  • bind-address- 确保不是127.0.0.1

看了/etc/my.cnf配置文件,也没发现问题

然后进入mysql:

mysql> SHOW VARIABLES LIKE 'skip_networking';

好家伙,问题出现了,但是问题是我的配置文件也没有设置这个啊

我就寻思配置文件加上了skip_networking=off,显示的关闭它

然后重启mysql服务,再去查询

发现skip_networking还是on开启的状态

想要临时修改:

SET GLOBAL skip_networking = OFF;

就报错了:

mysql> SET GLOBAL skip_networking = OFF;

ERROR 1238 (HY000): Variable 'skip_networking' is a read only variable

他是个只读的变量,只能通过配置文件进行修改

后面我就猜测会不会配置文件不对,还有其他配置文件(可能有优先级)的影响:

mysql --help | grep "Default options" -A 1

# 根据上一步得到的路径,逐一查看文件内容
sudo cat /etc/my.cnf
sudo cat /etc/mysql/my.cnf
# 如果还有 ~/.my.cnf (这是root用户的家目录)
sudo cat /root/.my.cnf

但是问题还是不在这里

下一步就去参看mysql的启动参数的影响:

确认没有skip_networking类似设置

查询# 在MySQL中执行
SHOW VARIABLES LIKE 'port';

确定问题就是skip_networking所致

后面查询相关资料,在配置文件中的[mysqld]部分下,除了skip_networking,同时还配置了skip_grant_tables(跳过权限验证),那么 MySQL 会出于安全考虑,强制开启skip_networking,并且忽略你对skip_networking的设置。

这是 MySQL 官方在 8.0.3 版本后引入的安全机制,目的是为了防止在跳过权限验证这个高风险状态下,数据库被外部网络攻击 。单独使用--skip-grant-tables相当于为数据库打开了 “免密后门”,而--skip-networking则确保了只有能直接操作服务器的用户才能走这个后门,杜绝了远程风险 。

至此问题终于解决,去配置文件注释掉skip_grant_tables即可

http://www.jsqmd.com/news/449439/

相关文章:

  • 将盾CDN:HTTPS加密传输与证书管理
  • 使用burp实现对mumu模拟器上手机应用的抓包
  • rtthread学习路线
  • 东莞“厂区爱情故事”数据分析:两个打工人的十年,如何完成从“单例模式”到“分布式系统”的架构升级
  • 探讨电磁流量计品牌厂家选购要点,全国哪家更值得选? - 工业品网
  • 使用 VMware 虚拟机重置密码的方法
  • 用 AI 给运维告警降噪:从理想到现实
  • 【已解决】ubuntu22.04 TightVNCServer GNOME 灰屏黑叉
  • Claude Code 常用命令和小技巧
  • 【雷达原理 学习笔记】P75 天线波束扫描方法详细讲解至P76
  • 怎么让 AI 听懂你的话?——同一个 AI,为什么他用得比你好 10 倍
  • 2026.3.6~7 - 工作中的问题总结
  • 11.7k Star!这个命令行工具让我告别了Google搜索
  • VSCode 自动换行设置完全指南
  • 2026年值得关注的6大商旅平台供应商
  • windows电脑提交APPStore应用,windows提交ipa
  • 测绘程序设计-伪距单点定位
  • 聊聊2026年湖南特色湘西姑娘泡菜,它的性价比到底高不高 - 工业设备
  • nodejs基于vue的摄影器材商城论坛交流的设计与实现vue
  • 增量同步 B 到 A,仅补充 A 中「缺失的目录」和「缺失的文件」,完全保留 A 已有内容(不删除、不覆盖),包括「A 目录存在但内部文件缺失」的场景
  • 【面试专栏|JVM虚拟机】从Serial到ZGC,JVM垃圾收集器进化史
  • 2026年重庆地区就业保障靠谱的PLC编程培训,哪家专业? - 工业品牌热点
  • openclaw 使用kimi api key 报错401
  • 我要训练神经网络可以识别solidworks哪个面和哪个面之间会出现标注
  • C++021(阶段练习)
  • 盘点2026年绵阳两波护栏板制造厂排名,哪家售后更专业? - 工业品网
  • 【面试专栏|JVM虚拟机】3种核心垃圾收集算法对比:标记清除vs标记复制vs标记整理,适用场景一眼分清
  • 计算机网络(六)--运输层 | TCP 报文段结构
  • nodejs基于vue的少数民族特色产品商城推介系统设计与实现
  • 网站搬家:备份整站需要备份什么数据?