mysql 2002 hy000_解决MySQL报错ERROR 2002 (HY000)

今天在为新的业务线搭架数据库后,在启动的时候报错

root@qsbilldatahis-db01:/usr/local/mysql/bin# ./mysql

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

在此记录一下,希望能够给遇到此问题的兄弟们提供一个解决问题的思路,有了思路后一步一步排查问题就比较容易了,但是我这个问题比较奇怪,如果有了解的兄弟,还不吝赐教。

首先介绍一下此问题出现的环境:

操作系统为:Ubuntu 14.04.5

数据库版本为:5.6.39-log

数据库安装方式为二进制安装

故障现象

数据库初始化后启动报错root@qsbilldatahis-db01:/usr/local/mysql/bin# ./mysql

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

故障排查

一看数据库进程是否启动

如果数据库进程没有启动,也会报这个错

进程是存在的

afa04f1041fce0446cc5738945253723.png

二 看配置文件中socket文件的配置,并检查socket文件是否存在,权限是否正确

d03fb12eecbf3cc0423e608b40ade029.png

配置文件中socket 文件的位置配置在/tmp/mysql.sock下

但是报错中去/var/run/mysqld/mysqld.sock 位置找配置文件,说明配置文件并没有生效,但是比如其他数据文件,日志文件的目录已经生效

三 看错误日志中是否提供了有价值的信息

查看错误日志中没有相关的报错

故障解决:

问题原因一直找不到,往上翻会话的时候看到数据库初始化完成后有以下输出,

2129a212400bb4f7bc78f92937f3d76b.png

难道是因为数据库启动的时候读了别的位置的配置文件?

我是按以下命令启动的,已经指定了配置文件的位置./mysqld_safe --defaults-file=/etc/my.cnf &

查看/etc/mysql/my.cnf

确实是去找的该配置文件中socket的位置

928decc98f6b6b4a0fc8e462f73011b4.png

将/etc/mysql路径下的配置文件重命名后oot@qsbilldatahis-db01:/etc/mysql# cd /etc/mysql/

root@qsbilldatahis-db01:/etc/mysql# ls

conf.d  my.cnf

root@qsbilldatahis-db01:/etc/mysql# mv my.cnf my.cnf_bak

再次进入mysql命令行没有报错,问题解决

816ed5b48ed461c3b8fe5060a7c1edad.png

故障总结

可以用以下命令查看MySQL数据库读取配置文件的默认顺序,

712776a1acdef82faa56c69b14f0e916.png

其实现在我还是很纳闷,为什么我制定了配置文件袋额位置还会读取别的位置的配置文件呢?在数据库初始化后的输出有所体现,

这是问题解决就是把其他路径下的配置文件重命名

a36149164933fed4d4b921d2db7c36d2.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值