找不到MySql服务器PID

时间:2013-07-26 07:37:32

标签: mysql linux nginx

我使用NGOSX的CentOS 6.4。

当我尝试start/stop/restart mysql服务器(/etc/init.d/mysqld restart)时,我收到此错误:

MySQL server PID file could not be found!                  [FAILED]
Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/mysqld.pid).

我该怎么做才能解决这个问题?

谢谢!

6 个答案:

答案 0 :(得分:6)

我在CentOS 6.3上遇到了同样的错误,我将MySQL升级到5.6.14,但我保留了旧的my.cnf文件。升级后,MySQL不再启动,给出了与您描述的相同的错误。

问题是我在my.cnf中有这个设置:

table_cache=2048

根据此链接table_cache renamed table_open_cache ..

  

“似乎在5.5中系统变量table_cache已重命名   table_open_cache ..   在5.6中,如果找到未知变量,mysqld会失败   这意味着从5.5之前的版本升级可以   如果在my.cnf中指定了table_cache,则会出现问题。“

我将上面的一行改为

table_open_cache=2048

MySQL完美开始。

所以,如果您有MySQL 5.5+(可能是较旧的my.cnf),我建议您执行以下操作:

  • 从/ etc文件夹中删除my.cnf并尝试启动MySQL
  • 如果MySQL启动,问题出在my.cnf上。逐个注释/取消注释所有设置,以查看导致问题的原因。

希望这有帮助。

答案 1 :(得分:3)

我将Mac OS升级到10.9.3并在mysql.server restart

上遇到了上述问题

以下解决了我的问题

sudo chmod -R o+rwx /usr/local/var/mysql/
sudo chown -R mysql /usr/local/var/mysql/
sudo mysql.server restart

答案 2 :(得分:1)

我发现有时MySQL进程仍在运行。当然,我的OS X Yosemite系统就是这种情况,所以使用以下命令查找名称中显示MySQL的任何进程:

ps aux | grep mysql

然后使用该命令杀死它们 sudo kill -9 PID,将PID替换为有问题的进程ID。

答案 3 :(得分:1)

首先确保/var/run/mysqld/mysqld.pid中不存在哪个文件夹/文件

如果目录不存在则将其创建为:

sudo mkdir -p /var/run/mysqld/

如果mysqld.pid不存在,则将其创建为:

sudo touch /var/run/mysqld/mysqld.pid

将所有权更改为:

sudo chown mysql:mysql -R /var/run/mysqld
chmod 775 -R /var/run/mysqld

重启mysql服务

sudo service mysql restart

答案 4 :(得分:0)

检查是否有锁。

/etc/init.d/mysql status

如果操作系统说存在锁定,例如:

ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists

删除该锁定文件并重新启动。

答案 5 :(得分:0)

我发现这很有效......

# ps aux | grep mysql
root      3668  0.0  0.0  11432  1240 ?        S     2014   0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/db/data01 --pid-file=/var/lib/mysql/mysql.pid
mysql     5303  0.1  0.4 1964748 12368 ?       S<l   2014 1663:35 /usr/sbin/mysqld --basedir=/usr --datadir=/db/data01 --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/db/logs01/mysql-error.err --open-files-limit=8192 --pid-file=/var/lib/mysql/mysql.pid --socket=/var/lib/mysql/mysql.sock --port=3306
root     12369  0.0  0.0   6376   680 pts/0    S+   09:05   0:00 grep mysql
# kill -9 3668 5303
# rm /var/lock/subsys/mysql rm: remove regular empty file `/var/lock/subsys/mysql'? y
# service mysql start Starting MySQL (Percona Server).. SUCCESS!