本机环境

MAC OS:11.1 Big Sur
安装方式:brew
Mariadb版本:mariadb: stable 10.5.8 (bottled)


问题描述

通过终端命令mysql或者mysql -u *** -p想连接mariadb数据库的时候出现系列错误:

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)


解决方式(本人情况生效)

  1. 删除/重命名ib_logfile0ib_logfile1两个文件:

mv /usr/local/var/mysql/ib_logfile0 /usr/local/var/mysql/ib_logfile0_bak
mv /usr/local/var/mysql/ib_logfile1 /usr/local/var/mysql/ib_logfile1_bak

  1. 重启数据库服务

brew services restart mariadb



原因查找过程(后话,有兴趣的可以参与讨论)

怀疑了N多个原因:

  1. brew上面通过brew services list查看mariadb服务是启动的,也尝试过使用brew重启服务,还是不行,没办法找到mysql.sock文件。疑惑是不是配置问题,但是之前也是没有修改过my.cnf配置的。

  2. /usr/local/etc/my.cnf文件里面指定socket文件路径还是不行

  3. 最后是通过查看mysql在本机的日志:

tail /usr/local/var/mysql/.lan.err
(不知道自己hostname的可以cd到这个目录查看)

然后发现日志里面ERROR一直在弹出,于是根据StackOverFlow的文章写的,删除/重命名ib_logfile0ib_logfile1两个文件。(上面有代码)重启mariadb之后世界清净了。

参考文章:
https://stackoverflow.com/questions/15016376/cant-connect-to-local-mysql-server-through-socket-homebrew/58012302#58012302

文章来源于互联网:MacOS解决mariadb无法连接-mysql.sockERROR 2002 (HY000)问题

发表评论