记录一次MySQL无法启动报错Can‘t connect to local MySQL server through socket ‘/var/run/mysq

481 阅读2分钟

首发在csdn了 ,这里直接用csdn作为图片服务器使了嘿嘿嘿,所以图片会有水印,不过我保证绝对是我自己一手写的

mysql报错类型(包括但不限于)

  • (2013, "Lost connection to MySQL server at 'handshake)
  • [ERROR] [MY-000067] [Server] unknown variable '06myisam-recover-options=BACKUP'.
  • 等...

主要表现为:

  • 连不上
  • 启动不了
  • 重启不了
  • 本地无法访问
  • 本地无法登录

出现这种问题的本质原因是MySQL没有正常的启动并运行,进而导致用户无法在本地登录或者通过远程的方式登录

解决思路

一旦出现这种问题,首先想的就是查看日志文件,查找问题。

  • 首先登录到linux主机,切换到root账户
  • 查看日志记录,结果我果真在日志中找到了问题: MySQL日志截图 因为mysql启动的时候,读取到了一个未知的配置导致报错unknownvariable'06myisam-recover-options=BACKUP‘,导致整个服务无法正常启动,进而持续不断的尝试自动重启解决问题,导致无法正常的运行服务。
  • 然后我理所当然的就开始找配置文件了,目的就是想把出错的这行配置给注释掉。在网上查了很久,都说日志文件在/etc/my.cnf里边,但是实际上我在/etc/目录下根本就没找到my.cnf配置文件。最后在下一层目录/etc/mysql/my.cnf里找到了,但是打开后我又傻眼了,怎么啥东西都没有,配置文件空空如也呢? 配置文件 最后找到了这个回答

为什么/etc/mysql/my.cnf为空?

为了防止网站无法访问,这里直接截个图 有关配置文件的解释

  • 整个人突然茅塞顿开了,惊叹的炸开了!抓耳挠腮了老久,一直在找配置文件在哪儿,一直在找为什么配置文件会是空白的呢这个问题,找了好久都快要放弃重装了,最后终于找答案了,真的是老泪纵流啊!于是我顺利的找到了配置文件/etc/mysql/mysql.conf.d/mysqld.cnf!,打开它,
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

按一下键盘的i进入vim的编辑状态,将出错的配置注释掉(在那行配置前边加一个#),然后按esc退出编辑状态,再依次按下键盘这三个按键:wq成功的修改保存并退出。

  • service mysql restart重启mysql,成功解决问题,服务正常启动!

总结

出现问题,第一时间要考虑的就是去查一下日志文件,日志文件里边都会详细的写明发生了什么情况,出现了什么错误,排查问题是必须通过日志来定位的