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,结果报如下异常:
[r[email protected] 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,具体因人而异),然后具体分析;

问题解决:

其中,我查看了日志内容,如下:

[[email protected] 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文件是存在的呀,奇怪:

[[email protected] 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!!

[[email protected] mysql]# rm -rf mysql-bin.index 
[[email protected] mysql]#  
[[email protected] 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,如果有异常,请自行查看日志找问题,一般都比较好定位和解决。

时间: 2024-10-09 13:06:23

Starting MySQL...The server quit without updating PID file [失败]lib/mysql/localhost.localdomain.pid).的相关文章

Starting MySQL....The server quit without updating PID file[失败]/lib/mysql/ip12189.pid). 错误一例

[[email protected] etc]# service mysqld startStarting MySQL....The server quit without updating PID file[失败]/lib/mysql/ip12189.pid). 原因: 在 mysqld 中使用 default-character-set 设置这样的设置, mysql 启动会报错而无法启动. 5.1版本时,可以这么写.但在5.5版本, [mysql] 项内可以这么写default-charac

开启mysql慢查询,重启提示Starting MySQL.The server quit without updating PID file

在my.cnf文件中加入: datadir = /usr/local/mysql/data long_query_time = 1 #记录下查询时间查过1秒. log-slow-queries = /usr/local/mysql/log/db-Test2-slow.log #日志目录. #log-queries-not-using-indexes #表示记录下没有使用索引的查询. 之后,重启mysql,提示: [[email protected] subsys]# service mysql 

Starting MySQL...The server quit without updating PID file

修改mysql的配置文件(my.cnf)后,再启动mysqld的时候报错: # service mysqld start Starting MySQL...The server quit without updating PID file (/var/mysql/data/test.pid).[FAILED] 起初一直认为修改是没有问题的,找了很多其它解决方法尝试无果. 最后将my.cnf文件恢复后,可以正常启动. 建议在修改配置文件前,先做好文件的备份工作.

centos6.6下编译安装mysql5.6之后启动失败:Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).

今天在编译安装mysql5.6时候出现Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).,当时就心碎了,之前安装时候好好的,在网上搜索帮助方法,可是没有和我一样的,有的说我没有给mysqld赋权限,可是我赋予他权限了,试了一堆方法,最后心灰意冷,准备删除mysql重新安装,就在我执行:yum remove mysql mysql

mysql修改后启动my.cnf报错Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).

mysql中文乱码解决 mysql修改my.cnf后启动报错Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid). 这里简单明了地说下: 对于mysql5.5版本,需要在/etc/mysql/my.cnf做如下修改: [client]下添加: default-character-set = utf8 [mysqld]下添加: cha

Linux mysql 报错:MYSQL:The server quit without updating PID file

[[email protected] ~]# service mysqld startStarting MySQL.. ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid). 1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限解决方法 :给予权限,执行 “chown -R mysql:mysql /usr/local/mysql

Mysql启动失败 MYSQL:The server quit without updating PID file

编译安装MySQL5.6启动时出错 提示MYSQL:The server quit without updating PID file 首先执行 /bin/mysqld_safe --user=mysql & 失败 错误日志提示 mysqld_safe mysqld from pid file ended 继续 初始化mysql /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --

mysql-Starting MySQL..The server quit without updating PID file (/[FAILED]ql/mysql/pid)

凌晨1点,日常刷刷手机中,邮箱短信报警了,瞄了一眼,磁盘什么什么的,没在意,每天几十封邮件,麻木了.早上7点,还没醒,老大给我打电话,网站502了,一个激灵起来登陆网站,发现502了 查看进程,发现mysql出问题了,直接service mysql stop ,service mysql start.数据库  ,然后凉凉了,mysql起不起来 [[email protected] data]# service mysql start Starting MySQL..The server quit

the server quit without updating pid file (/var/lib/mysql/localhost.localdomain.pid)

前几天装的mysql,用的还挺爽的,第二天再用就不行了,报的错误如标题.网上也是众说纷纭,可能有很多原因会导致这种错误吧.我用的是将Mysqld这个进程杀掉,就可以启动mysql了 the server quit without updating pid file (/var/lib/mysql/localhost.localdomain.pid),布布扣,bubuko.com the server quit without updating pid file (/var/lib/mysql/l