节点重启后mysql集群无法启动,3个副本均出现以下错误提示:
Can 't connect to local MySQL server through socket '’/var/run/mysqld/mysqd.sock’ (111)";
Check that mysqld is running and that the socket:”/var/run/mysqld/mysqld.sock”exist!
查了下原因:
1、mysql服务为启动
该sock文件是mysql启动的时候创建的,弱服务关闭,该文件消失。
判断mysql是否正常启动有俩个方法:
方法一:
[root@localhost ~]# ps -ef | grep mysql 101 17285 16922 0 Apr04 pts/1 00:36:51 /usr/bin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-output=none --pid-file=/var/lib/mysql/mysqld.pid --port=3306 --console root 25314 25296 0 22:50 pts/0 00:00:00 grep --color=auto mysql
方法二:
[root@localhost ~]# netstat -ntlp | grep 3306
2、socket文件路径配置错误
该问题一般是由于修改mysql的配置文件my.conf导致,查找文件中socket参数,修改正确即可;
结合以上分析,mysql集群(容器启动)出现以上问题的是因为节点硬重启,导致mysql服务非正常关闭。节点启动之后,mysql为非正常启动,未能够生成sock文件。
给出的建议:在重启机器之前建议先正常关闭mysql服务。等节点启动之后再进行手动干预启动mysql