快捷搜索:   nginx

重启mysql提示MySQL server PID file could not be found!解决办法

重启mysql提示MySQL server PID file could not be found!

[root@centos]# service mysqld restart
MySQL server PID file could not be found![FAILED] /www/server/mysql/bin/mysqld_safe: line 180: 15257 Killed                  nohup /www/server/mysql/bin/mysqld --basedir=/www/server/mysql --datadir=/www/server/data --plugin-dir=/www/server/mysql/lib/plugin --user=mysql --sql-mode=NO_AUTO_CREATE_USER\,NO_ENGINE_SUBSTITUTION --log-error=/www/server/data/iZ1bds00y7juxtZ.err --open-files-limit=65535 --pid-file=/www/server/data/iZ1bds00y7juxtZ.pid --socket=/tmp/mysql.sock --port=3306 < /dev/null > /dev/null 2>&1
170605 17:34:43 mysqld_safe mysqld process hanging, pid 15300 - killed


会造成这个问题的情况有好几种,以下分别说明,如果您也出现这个问题可以分别尝试:

方法一:检查是否存在僵尸进程,有的话用kill -9 进程号的方法杀掉
[root@centos mysql]# ps aux |grep mysq*
root    10274  0.0  0.0  68160  1336 ?        S    13:43   0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/irxpert-test.pid
mysql    10353  0.0  1.0 344360 39464 ?        Sl   13:43   0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/irxpert-test.err --pid-file=/var/lib/mysql/irxpert-test.pid
root     11884  0.0  0.0  63384   760 pts/1    S+   15:44   0:00 grep mysq*
如果看到上面的内容,那说明,Mysql的进程卡死了,这时用就要把这些卡死的进程都关闭
[root@centos mysql]# kill -9 10274
[root@centos mysql]# kill -9 10353
[root@centos mysql]# service mysqld restart
如果杀掉进程之后还是重启不起来,继续看方法二。

方法二:判断进程文件的权限不够(“www/server/data/iZ1bds00y7juxtZ.pid”)
直接修改对应文件夹的相关文件读写权限
[root@centos mysql]# chmod -R 755 /db/mysql/data

方法三:修改MySQL默认配置文件属性("/etc/my.cnf")

  指定MySQL 数据存放目录(根据你的实际存放位置来写): datadir = /www/server/data/

  指定MySQL 日志存放目录:log_error = /var/log/mysql/error.log


[root@iZ94ax97oadZ /]# vi /etc/my.cnf

添加下面的语句(根据实际情况来):

datadir = /www/server/data/
log_error = /var/log/mysql/error.log


重新启动MySQL
[root@centos]# service mysqld restart


方法四:skip-federated字段问题

解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。




方法五:selinux惹的祸,如果是centos系统,默认会开启selinux

解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器


方法六:如果你在服务器上重复安装过MYSQL,那可能有残余数据影响服务启动
可以到mysql的数据目录/data里面,检查是否存在mysql-bin.index,有就删除。
顶(5)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论