Starting MySQL...The server quit without updating PID file [失败]lib/mysql/localhost.localdomain.pid).,localhost
重启了一下服务器,启动后就报以下错误了:
Starting MySQL...The server quit without updating PID file [失败]lib/mysql/localhost.localdomain.pid).
纠结了很久没找到解决办法,后来突然想到修改了mysql的配置文件“/usr/my.cnf”
之前配置默认编码,在配置文件中添加了“default-character-set=utf8”
把这一句删除了,再启动mysql就好了。
在解决这个问题过程中找到的比较好的资料,这里收藏一下:
问题起因:
今天做了一件事情:我在VM 上将一数据库的数据文件(/var/lib/mysql整个文件夹)拷贝到另外一台VM上,然后新的VM 上启动MYSQL,结果报如下异常:
[root@localhost mysql]# service mysql start
Starting MySQL.. ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).
于是Google之,大部分的答案都是:
1. 注释/etc/my.cnf里的skip-federated注释掉即#skip-federated;
2. my.cnf文件配置过高,重新定义其中的参数(根据服务器情况定义);
3. 杀掉mysql_safe和mysqld进程,然后再重启;
4. 当前日志文件过大,超出了my.cnf中定义的大小(默认为64M),删除日志文件再重启;
5. 其他情况,查看日志文件(我的是localhost.localdomain.err,具体因人而异),然后具体分析;
问题解决:
其中,我查看了日志内容,如下:
[root@localhost mysql]# less localhost.localdomain.err
111203 22:09:03 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
^G/usr/sbin/mysqld: File './mysql-bin.index' not found (Errcode: 13)
111203 22:09:03 [ERROR] Aborting
111203 22:09:03 [Note] /usr/sbin/mysqld: Shutdown complete
111203 22:09:03 mysqld_safe mysqld from pid file /var/lib/mysql/localhost.localdomain.pid ended
但是我查看了我的目录文件,mysql-bin.index文件是存在的呀,奇怪:
[root@localhost mysql]# ll
total 49828
-rw-rw----. 1 mysql mysql 35651584 Dec 3 17:55 ibdata1
-rw-rw----. 1 mysql mysql 5242880 Dec 3 17:55 ib_logfile0
-rw-rw----. 1 mysql mysql 5242880 Dec 3 15:45 ib_logfile1
-rw-rw----. 1 mysql root 1376 Dec 3 22:02 localhost.localdomain.err
drwx--x--x. 2 mysql mysql 4096 Dec 3 17:55 mysql
-rw-rw----. 1 mysql mysql 4847020 Dec 3 17:55 mysql-bin.000001
-rw-rw----. 1 mysql mysql 1373 Dec 3 17:56 mysql-bin.000002
-rw-r--r--. 1 root root 19 Dec 3 15:38 mysql-bin.index
drwx------. 2 mysql mysql 4096 Dec 3 17:55 performance_schema
-rw-r--r--. 1 root root 116 Nov 25 21:03 RPM_UPGRADE_HISTORY
-rw-r--r--. 1 mysql mysql 116 Nov 25 21:03 RPM_UPGRADE_MARKER-LAST
drwxr-xr-x. 2 mysql mysql 4096 Dec 3 17:55 test
仔细看了下,咦?-rw-r--r--. 1 root root 19 Dec 3 15:38 mysql-bin.index----难道是权限不够?于是将该文件加了写权限,重启,涛声依旧!!!噢噢!
难道是编码问题?难道是....继续猜测。。。问题还是没解决,后来我做了一件事情,将mysql-bin.index文件删除掉!重启!!OH!No!!
[root@localhost mysql]# rm -rf mysql-bin.index
[root@localhost mysql]#
[root@localhost mysql]# service mysql start
Starting MySQL... SUCCESS!
就这样??为什么呢?至今这个仍然是未解之谜(对我来说),如有知情者请告知:)
补充:
很多时候,我们在做主从同步的时候,将数据库目录整体打包拷贝到从机上的时候,重启也往往会出现类似的问题,解决方法仍然是:
1)给MYSQL数据库数据目录权限:chown -R mysql:mysql 目录名称
2)务必保证MYSQL的进程是已经关闭了的;
另外要注意的地方就是:ib_*, mysql-bin-*, *.err(log文件)以及master-info和relay-info文件都是可以删除的,相当于重新初始化数据库的数据,但是前提是:
1)操作前要先关掉MYSQL的进程;
2)删掉文件后要重新启动MYSQL,如果有异常,请自行查看日志找问题,一般都比较好定位和解决。
问题描述: [root@bogon mysql-5.1.41]# /etc/rc.d/init.d/mysqld startStarting MySQL.Manager of pid-file quit without updating file.[失败] --------------------------- 解决办法:配置的时候有一个步骤是 cp support-files/my-medium.cnf /etc/my.cnf ; 就编辑my.cnf,在[mysqld]下面加上:datadir = /usr/local/mysql/data 例如# The MySQL server[mysqld]port = 3306socket = /tmp/mysql.sockskip-lockingkey_buffer_size = 16Mmax_allowed_packet = 1Mtable_open_cache = 64sort_buffer_size = 512Knet_buffer_length = 8Kread_buffer_s ...
2.首先到/usr/local/mysql/data先 chown -R mysql:mysql * 然后杀掉mysql进程,在启动musql就行了
打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试3.
4.确实一般都是my.cnf配置文件的问题
/etc/my.cnf来自以下文件:
如果你的内存≤64M,则复制/usr/local/share/mysql/my-small.cnf为/etc/my.cnf
# This is for a system with little memory (<= 64M) where MySQL is only used
# from time to time and it's important that the mysqld daemon
# doesn't use much resources.
如果内存是128M,则复制/usr/local/share/mysql/my-medium.cnf为/etc/my.cnf
# This is for a system with little memory (32M - 64M) where MySQL plays
# an important part, or systems up to 128M where MySQL is used together with
# other programs (such as a web server)
如果内存是512M,则复制/usr/local/share/mysql/my-large.cnf为/etc/my.cnf
# This is for a large system with memory = 512M where the system runs mainly
# MyS......余下全文>>
意思是你这个服务退出但是他的pid没有更新,也就是进程没有关掉的意识,用命令找到那个进程,然后Kill it!!!
————————————————
请采纳!!!