启动mysql报错(Starting MySQL..Manager of pid-file quit without upd

in mysql with 0 comment

文章来源:http://liulingsong.diandian.com/post/2013-01-20/40047654878

启动mysql报错(Starting MySQL..Manager of pid-file quit without updating file) 解决方法

本次错误日志

130120  3:44:57 [Note] Plugin 'FEDERATED' is disabled.

130120  3:44:57 [Note] Plugin 'InnoDB' is disabled.

130120  3:44:57 [ERROR] Can't start server: Bind on TCP/IP port: Address already in use

130120  3:44:57 [ERROR] Do you already have another mysqld server running on port: 3306 ?

130120  3:44:57 [ERROR] Aborting

130120  3:44:57 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete

130120 03:44:57 mysqld_safe mysqld from pid file /home/data/mysql/dellserver.pid ended

130120 07:51:02 mysqld_safe Starting mysqld daemon with databases from /home/data/mysql

本次解决的方法:数据库突然连接不上了,重启mysqld时“Starting MySQL. ERROR! Manager of pid-file quit without updating file.”  

#/etc/init.d/mysqld status

ERROR! MySQL is not running, but lock exists

查看mysql进程 #ps -ef grep mysql  

[root@dellserver ~]# ps -ef | grep mysql

root     23411     1  0 Jan19 ?        00:00:00 mysqld_safe --datadir=mysql --pid-file=dellserver.pid

mysql    23552 23411  2 Jan19 ?        00:39:09 mysqld --basedir=mysql --datadir=mysql --user=mysql --log-error=dellserver.err --pid-file=dellserver.pid --socket=mysql.sock --port=3306

root     29257 28195  0 08:06 pts/0    00:00:00 grep mysql

发现进程存在 杀掉

[root@dellserver ~]# ps -A|grep mysql

23411 ?        00:00:00 mysqld_safe

23552 ?        00:39:09 mysqld

# kill-9 23411  直接23552自杀了。

#service mysqld start   Starting MySQL. SUCCESS! 成功

================================================

网上其他解决方法,本次未适用,可能好使,记录下来备战

1、查看数据库文件,mysql-bin.index确实存在。查看数据库文件的权限,重新授权即可。

2、初次启动会出现Manager of pid-file quit without updating fi[FAILED]的报错,需要注释/etc/my.cnf里的skip-federated注释掉即#skip-federated就OK了!

3、/etc/init.d/mysql status 
coming back with: 
mysql is not running but lock exists 
Solved by removing the lock file:

rm /var/lock/subsys/mysql

If this happens again it may also be necessary to remove the pid file from /var/lib/mysql

 

一、查看报错日志

报错日志是我们解决问题的方向灯,没有方向灯我们就没了方向。我有次安装时报错日志里就有这样的错误: /usr/local/mysql/bin/mysqld: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory。很明显是缺少了库文件 libstdc++.so.5 。这时我们搜索和libstdc相关的包安装即可。

二、也许是selinux惹的祸

如果是centos系统,默认会开启selinux,这个时候可以先关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。

三、残余数据

也有可能是第二次在机器上安装mysql,有残余数据影响了服务的启动,去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。

四、确定数据目录的权限

数据目录一般是/data,检查一下它的归属,如果不是mysql所有者,一般安装mysql时都会创建mysql的用户和组的,这时要修改一下用户和组:

chown -R mysql:mysql /var/data

五、没有指定数据目录

mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。如果没有请在[mysqld]下设置这一行:

datadir =/usr/local/mysql/data

六、还有mysql进程在跑着

如果这是第二次在机器上安装mysql就极有可能会出现这种情况的,这时系统上很有可能还有mysql进程在运行着。可以执行下列命令查看:

ps -ef | grep mysql

如果出现的结果不止一行的就赶快把它kill掉吧。

七、skip-federated字段在作祟

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

八、出错日志目录不存在

也有可能你现在还不知道mysql的出错日志在哪里吧?这时你可以执行命令查看:

cd mysql/bin ./mysql_safe

这时一定会报错的,并在错误中显示将错误写在某某目录的某某文件里了,这里检查一下这个目录和文件是否存在,在的话就按日志指示解决,如果没有的话就要创建目录并修改权限和归属了。一般会是/var/lib/mysql/mysql.error,注意mysql.error不用创建的。

cd /var/lib mkdir mysql chmod 777mysql chown mysql:mysql mysql

Responses