作者:王向
爱可生 DBA 团队成员,负责公司 DMP 产品的运维和客户 MySQL 问题的处理。擅长数据库故障处理。对数据库技术和 python 有着浓厚的兴趣。
本文来源:原创投稿
*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。
前言
最近解决了一个比较基础的问题故障,由于排查过程挺有意思,于是就以此为素材写出了本篇文章。
故障现场
防火墙什么的均正常但是无法被远程访问到。简单的使用客户端登录了一下。
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)
根据以往经验大脑中浮现了几个常见的排查此类故障手法
1.排查进程存在
[root@wx ~]# ps -ef|grep [m]ysql
mysql 25973 1 1 8月30 ? 02:43:20
/mysqldata/mysql/base/8.0.24/bin/mysqld --defaults-
file=/mysqldata/mysql/etc/3308/my.cnf --daemonize --pid-
file=/mysqldata/mysql/data/3308/mysqld.pid --user=mysql --
socket=/mysqldata/mysql/data/3308/mysqld.sock --port=3308
2.排查端口绑定情况,居然没有绑定端口
[root@wx ~]# lsof -i:3308
[root@wx ~]# ss -nltp|grep 3308
3.查看启动日志发现,监听端口等于0
2022-09-06T07:30:41.090

本文记录了一次解决MySQL服务无法远程访问的故障排查过程。通过检查进程、端口绑定及日志,发现由于skip-grants-tables参数的设置,使得MySQL默认开启了skip-networking,禁用了远程连接。解决方案是注释掉skip-grants-tables参数并重启MySQL服务。
最低0.47元/天 解锁文章
1120

被折叠的 条评论
为什么被折叠?



