• Starting MySQL.. ERROR! The server quit without updating PID file


    注意:本文出自 “阿飞”的博客 ,如果要转载本文章,请与作者联系!

    问题起因:
    今天做了一件事情:我在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]# 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,如果有异常,请自行查看日志找问题,一般都比较好定位和解决。

  • 相关阅读:
    Java8 lambda表达式10个示例
    我和阿里云RDS的故事
    Spring Mvc 传递参数要controller出现了400,日期参数全局处理,格式化yyyy-MM-dd 和yyyy-MM-dd HH:mm:ss
    剑指Offer_36_两个链表的第一个公共结点
    剑指Offer_35_数组中的逆序对
    剑指Offer_34_找出字符串中第一个只出现一次的字符
    剑指Offer_33_丑数
    剑指Offer_32_把数组排成最小的数
    剑指Offer_31_整数中1出现的次数(从1到n整数中1出现的次数)
    剑指Offer_30_连续子数组的最大和
  • 原文地址:https://www.cnblogs.com/huolarry/p/5606674.html
Copyright © 2020-2023  润新知