本机环境
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)
解决方式(本人情况生效)
- 删除/重命名
ib_logfile0
、ib_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
- 重启数据库服务
brew services restart mariadb
原因查找过程(后话,有兴趣的可以参与讨论)
怀疑了N多个原因:
brew上面通过
brew services list
查看mariadb服务是启动的,也尝试过使用brew重启服务,还是不行,没办法找到mysql.sock文件。疑惑是不是配置问题,但是之前也是没有修改过my.cnf
配置的。在
/usr/local/etc/my.cnf
文件里面指定socket
文件路径还是不行最后是通过查看mysql在本机的日志:
tail /usr/local/var/mysql/<hostname>.lan.err
(不知道自己hostname的可以cd到这个目录查看)
然后发现日志里面ERROR一直在弹出,于是根据StackOverFlow的文章写的,删除/重命名ib_logfile0
、ib_logfile1
两个文件。(上面有代码)重启mariadb之后世界清净了。