有一次用户报告我们的服务用不了,开始排查故障:

查看业务日志发现数据库连接不上——>手动尝试登录mysql失败——>systemctl发现mysqld服务dead,重启服务无效(但是进程依然在运行没有漰溃)——>查看日志/var/log/mysqld.log(这个根据你自己的my.cnf配置来决定)

找到这么一条报错信息:Could not open unix socket lock file /var/lib/mysql/mysql.sock.lock

         因为我们的业务程序和mysql是部署在同一台主机上的,所以业务程序是通过socket连接数据库。我本来打算拷贝一个可用的mysql.sock.lock先尝试一下,在对旧文件mv改名备份之后,数据库竟然就启动成功可以正常登录了,ls查看目录发现mysql已经自动新建了一个mysql.sock.lock,看来进程是在实时检测这个文件。

        如果因为mysql.sock.lock导致数据库不能正常登录,不妨试试把这个文件移走,让mysql自己重新创建一个再来登录。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐