mysql 启动报错-server PID file could not be found

本文介绍了一种常见的MySQL服务启动失败的情况,即无法找到MySQL服务器的PID文件,并提供了详细的排查和解决步骤,包括查找相关进程并重启服务。

[root@yunhe ~]# service mysql stop
MySQL server PID file could not be found!                  [失败]

解决方案如下:

首先查看下与mysql有关的进程

[root@yunhe ~]# ps aux |grep mysq*
root      2019  0.0  0.1   6228  1392 ?        S    09:22   0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/yunhe.pid
mysql     2115  0.0  2.9 353596 30808 ?        Sl   09:22   0:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/lib/mysql/yunhe.err --pid-file=/var/lib/mysql/yunhe.pid
500       4258  0.0  1.6  83432 17484 ?        S    09:35   0:01 gedit /usr/share/mysql/my-medium.cnf
root      5555  0.0  0.0   5936   768 pts/0    S+   10:04   0:00 grep mysq*

如果看到上面的内容,那说明mysql相关的进程存在,不过资源调度出现了问题(好像卡死),这时用就要把这些卡死的进程都关闭。
[root@yunhe ~]# kill 2019
[root@yunhe ~]# kill 20115
-bash: kill: (20115) - 没有那个进程
[root@yunhe ~]# kill 2115

然后重新启动mysql
[root@yunhe ~]# service mysql start
Starting MySQL...                                          [确定]
[root@yunhe ~]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.4-m7 MySQL Community Server (GPL)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

这个错误通常表示 MySQL 无法找到 PID 文件。可能的原因包括权限问题、配置错误或 MySQL 进程被意外终止。 以下是一些常见的解决方法: 1. 检查权限:确保 MySQL 进程具有适当的权限来访问 PID 文件所在的目录。你可以尝试更改文件和目录的所有者和权限,以确保 MySQL 用户可以读取和写入 PID 文件。 2. 检查配置文件:查看 MySQL 的配置文件(通常是 my.cnf 或 my.ini),确保文件路径和名称正确。特别注意 pid-file 参数是否正确指向了正确的 PID 文件路径。 3. 手动创建 PID 文件:如果 MySQL 找不到 PID 文件,你可以尝试手动创建一个空的文件,并确保 MySQL 用户具有读写权限。然后尝试启动 MySQL。 ``` sudo touch /path/to/mysql.pid sudo chown mysql:mysql /path/to/mysql.pid ``` 将 `/path/to/mysql.pid` 替换为你希望使用的 PID 文件路径。 4. 检查其他进程或服务:确保没有其他实例或进程正在占用相同的端口或数据目录。你可以使用系统工具(如 lsof 或 netstat)来检查正在运行的进程。 5. 清理残留进程:如果 MySQL 进程被意外终止,可能会导致残留的进程或锁文件。尝试使用以下命令杀死残留进程,并删除任何锁文件: ``` sudo pkill -9 mysql sudo rm /var/lock/subsys/mysql ``` 注意:这会强制终止 MySQL 进程,请确保已备份重要的数据。 如果以上方法仍然无法解决问题,你可以提供更多详细的错误日志或配置信息,以便我能够更好地帮助你解决问题。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值