mysql修改mysql.sock路径导致登录本地数据库异常
背景
最近发现每天的数据库还原并没有执行了,检查了脚本和备份文件以及定时任务一切正常,于是决定手动执行还原数据库脚本试试:
1 | [root@centos7 document]# ./mysqlsource.sh |
果不其然,问题出现在在了脚本上,发现使用mysql -uroot -p
就已经无法连接至本机数据库了,却可以通过mysql -h 127.0.0.1 -uroot -p
进行数据库连接,这个问题很奇怪。
解决
首先检查下/etc/my.cnf
即mysql的配置文件:
1 | [root@centos7 document]# vim /etc/my.cnf |
可见mysql配置文件中datadir
和socket
的路径都已经认为调整到了新的目录下,但是为什么报错提示中仍然是/var/lib/mysqld/mysqld.sock
呢?问题应该出现在这个地方。
经过几番找寻,发现用rpm安装的话,mysql客户端sock默认是去读取/var/lib/mysql/mysql.sock,如需调整位置,需在/etc/my.cnf
文件中手动添加新的socket配置:
1 | [client] |
添加完配置再重新启动mysql,就可以正常登录了。
1 | [root@centos7 mysql]# service mysqld restart |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 zane!
评论