mysqld dead but subsys locked 的解决办法

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

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

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

     

     1、检查mysql服务状态:

      [[email protected] bin]# /usr/bin/mysql status
      ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

     

      [[email protected] 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端口占用情况:

  [[email protected] init.d]# netstat -apn|grep 3360

  没有占用3360端口的进程

  [[email protected] init.d]# lsof -i:3360

  也没有占用3360端口的进程

 

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

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

  竟然启动成功了!

相关内容推荐

WINDOWS 2008禁止和启用PING

方法1:命令行模式 进入服务器后 点击 开始运行 输入命令: netsh firewall set icmpsetting 8 这样就可以在外部ping到服务器了 非常简单实用! 同样道理,如果想禁止Ping,那运行如下命令即可

wdcp升级php5.3脚本

wget http://d.371cloud.cn/wdcp/php_up53.sh sh php_up53.sh 看到php update is OK提示 表示,顺利完成 增加pdo,mysqli,支持! 编辑php_up53.sh 找到./configure那一段在这行的末尾加上如下参数(注意空格) --with-

windows2008英文版转换成中文版的解决办法

因为我用的是美国的服务器,所以不可避免系统是英文版的。虽然看的懂,但毕竟不如 中文 版用着方便。所以在网上找了些设置 中文 版的办法。都讲的不是很详细,所以我把自己安装

返回
顶部