mysql的subsys locked_mysqld dead but subsys locked 的解决办法

项目使用的mysql数据突然宕掉了,使用ps  -ef|grep mysql ,没有发现mysql的进程,只有一些使用了mysql的项目的进程。

数据库脚本目录:/usr/bin/mysql

mysqld目录:/etc/init.d/mysqld

1、检查mysql服务状态:

[root@ bin]# /usr/bin/mysql status

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

[root@ init.d]# /etc/init.d/mysqld status

mysqld dead but subsys locked

对于“mysqld dead but subsys locked” 网上找的资料都是说安装完数据库后没初始化数据造成无法启动的,这里不适用。没办法只有自己摸索了。

2、检查mysql 的pid文件 和socket文件,发现对应目录下没有 这2文件(目录可以通过查看my.cnf配置找到)

这里数据库pid和socket文件目录为:

pid-file:/var/run/mysqld/mysqld.pid           socket:/var/lib/mysql/mysql.sock

之前遇到过mysql无法启动,删除pid和socket文件 后就能启动了。

启动数据库:/etc/init.d/mysqld start 提示启动失败

查看日志 cat   /var/log/mysqld.log,发现如下日志:

130708 12:36:04 [ERROR] Can't start server: Bind on TCP/IP port: Address already in use

130708 12:36:04 [ERROR] Do you already have another mysqld server running on port: 3306 ?

130708 12:36:04 [ERROR] Aborting

日志上提示端口被占用了

3、检查3360端口占用情况:

[root@ init.d]# netstat -apn|grep 3360

没有占用3360端口的进程

[root@ init.d]# lsof -i:3360

也没有占用3360端口的进程

4、关闭所有使用了该mysql的项目,然后执行:killall  mysql

5、启动数据库:/etc/init.d/mysqld start

竟然启动成功了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值