不小心将服务器OS给重启了,再启动数据库的时候,出现了很奇怪的问题
[root@dev run]# service mysql restart
ERROR! MySQL server PID file could not be found!
Starting MySQL.. ERROR! The server quit without updating PID file (/var/lib/mysql/run/mysql.pid).

无法启动mysql,后来上网找了一下解决方法,无非就是以下几种

1. 注释/etc/my.cnf里的skip-federated注释掉即#skip-federated;
2. my.cnf文件配置过高,重新定义其中的参数(根据服务器情况定义);
3. 杀掉mysql_safe和mysqld进程,然后再重启;
4. 当前日志文件过大,超出了my.cnf中定义的大小(默认为64M),删除日志文件再重启;

但是在主机中:

1.        注释中无skip-federated这个选项
2.        My.cnf是自己优化过的,断电之前正常使用,不是这个的问题
3.        Ps –ef | grep mysql  根本就没有mysql的僵尸进程
4.        没有这个问题
基本上网上的所有方式都试过了,都无法解决问题,然后在数据库的data目录(mysql/data)查看错误日志,我的服务器是localhost.localdomain.err文件,也可能是
 
(/var/lib/mysql/log/error.log)

2014-06-10 11:52:46 15921 [Note] InnoDB: Database was not shutdown normally!
2014-06-10 11:52:46 15921 [Note] InnoDB: Starting crash recovery.
2014-06-10 11:52:46 15921 [Note] InnoDB: Reading tablespace information from the .ibd files...
2014-06-10 11:52:46 15921 [ERROR] InnoDB: Attempted to
open a previously opened tablespace. Previous tablespace
raildb/base_company_fullname uses space ID: 4 at filepath:
./raildb/base_company_fullname.ibd. Cannot open tablespace
mysql/slave_master_info which uses space ID: 4 at filepath:
./mysql/slave_master_info.ibd
2014-06-10 11:52:46 7ff29246d720  InnoDB: Operating system error number 2 in a file operation.
InnoDB: The error means the system cannot find the path specified.
InnoDB: If you are installing InnoDB, remember that you must create
InnoDB: directories yourself, InnoDB does not create them.
InnoDB: Error: could not open single-table tablespace file ./mysql/slave_master_info.ibd
InnoDB: We do not continue the crash recovery, because the table may become
InnoDB: corrupt if we cannot apply the log records in the InnoDB log to it.
InnoDB: To fix the problem and start mysqld:
InnoDB: 1) If there is a permission problem in the file and mysqld cannot
InnoDB: open the file, you should modify the permissions.
InnoDB: 2) If the table is not needed, or you can restore it from a backup,
InnoDB: then you can remove the .ibd file, and InnoDB will do a normal
InnoDB: crash recovery and ignore that table.
InnoDB: 3) If the file system or the disk is broken, and you cannot remove
InnoDB: the .ibd file, you can set innodb_force_recovery > 0 in my.cnf
InnoDB: and force InnoDB to continue crash recovery here.
140610 11:52:46 mysqld_safe mysqld from pid file /var/lib/mysql/run/mysql.pid ended

第一处标黄,提示是数据库没有正常关闭
第二处标蓝,提示正在从.ibd files读取tablespace information
第三处标红,就是开始error的地方,大概意思就是读取不到raildb这个库的tablespace
下边说的就是一些处理这个问题的方法,就不一一翻译了

最后我感觉是因为断电之前,mysql没有正常关闭,造成了raildb这个库的一些异常,我采用的解决方法是在innoDB,强制覆盖

Vi /etc/my.cof  增加一行      innodb_force_recovery= 1

然后重启,接着报错:

mysqld: File './mysql-bin.index' not found (Errcode: 13)

查看data目录下mysql-bin.index是存在的,怀疑是权限问题,对整个mysql目录重新赋权:

chown -R mysql:mysql mysql

再次重启,问题解决...

MySQL.. ERROR! The server quit without updating PID file问题解决的更多相关文章

  1. Starting MySQL... ERROR! The server quit without updating PID file 问题解决

    今天遇到一个mysql起不来,不知为啥挂了,启动是下面的报错 Starting MySQL... ERROR! The server quit without updating PID file 后来 ...

  2. [转]MySQL: Starting MySQL….. ERROR! The server quit without updating PID file

    转自: http://icesquare.com/wordpress/mysql-starting-mysql-error-the-server-quit-without-updating-pid-f ...

  3. MySQL: Starting MySQL….. ERROR! The server quit without updating PID file解决办法

    MySQL: Starting MySQL….. ERROR! The server quit without updating PID file解决办法 1 问题 [root@localhost m ...

  4. 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/mysq ...

  5. Starting MySQL.. ERROR! The server quit without updating PID file (/usr/local/mysql/var/AYXXXXXXXXXXX.pid). 错误解决方法

    /etc/init.d/mysql start无法启动MySQL错误信息如下: ERROR! MySQL server PID file could not be found! Starting My ...

  6. mysql启动时报错:Starting MySQL... ERROR! The server quit without updating PID file (/opt/mysql/data/mysql.pid)

    mysql启动报错Starting MySQL... ERROR! The server quit without updating PID file (/opt/mysql/data/mysql.p ...

  7. Starting MySQL. ERROR! The server quit without updating PID file如何解决

    今天数据库突然挂了.重启提示: Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/v ...

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

    版权声明:本文为博主原创文章,未经博主允许不得转载. 注意:本文出自 “阿飞”的博客 ,如果要转载本文章,请与作者联系! 并注明来源: http://blog.csdn.net/faye0412/ar ...

  9. Starting MySQL.. ERROR! The server quit without updating PID file (/usr/local/mysql/data/vm10-0-0-19

    输入:service mysqld start 报错: Starting MySQL.. ERROR! The server quit without updating PID file (/usr/ ...

随机推荐

  1. C语言 电梯函数

    #include <stdio.h> #include <time.h> #include <stdlib.h> void test(){//汉字输出 printf ...

  2. struts2中constant参数设置

    序号 方法 说明 1 <constant name="struts.i18n.encoding" value="UTF-8"/> 指定web应用默认 ...

  3. 《RPM源码包的制作》RHEL6

    一下rpm包的创建不含编译部分: 首先写个脚本,这个脚本是你想干的事..useradd.sh是我写的脚本,批量添加20个用户.我们创建一个目录,将脚本放进去: 将此目录压缩: 我们将校验的key导出: ...

  4. 数字图象处理MATLAB学习

    diagram = imread('C:\Users\Administrator\Desktop\Compressed\fiter\lena256.jpg') %diagram = rgb2gray( ...

  5. netstat监控大量ESTABLISHED连接与Time_Wait连接问题(转载)

    问题描述: 在不考虑系统负载.CPU.内存等情况下,netstat监控大量ESTABLISHED连接与Time_Wait连接. # netstat -n | awk '/^tcp/ {++y[$NF] ...

  6. AJAX 跨域 :Access-Control-Allow-Origin

    在一个项目上想用NodeJS,在前端的JS(http://localhost/xxx)中ajax访问后端RestAPI(http://localhost:3000/….)时(Chrome)报错: XM ...

  7. 【Qt】Qt之密码框不可选中、复制、粘贴、无右键菜单等【转】

    简述 在做用户登录.修改密码的时候,往往会用到密码框,其中一些功能要求与普通的输入框不同,例如:不能选中.复制.粘贴.无右键菜单等功能,当然设置密码不可见是必须的! 下面介绍两种方式来实现相同的效果. ...

  8. JVM学习---JAVA内存

    一.JAVA运行时数据区域:JAVA中的运行时内存区域有的随着虚拟机进程的启动而存在,有的区域则是依赖用户线程的启动和结束而建立和销毁的.包括以下的几个区域. 图. JAVA虚拟机运行时数据区 1.程 ...

  9. Redis源码研究--双向链表

    之前看的内容,占个位子,以后补上. ----------8月4日--------------- 双向链表这部分看的比较爽,代码写的中规中矩,心里窃喜,跟之前学的<数据结构>这本书中差不多. ...

  10. nignx+php-fpm环境下 phpmyadmin打开空白的原因探究

    打开phpmyadmin一直是空白的,发现是js的问题,原因是pma的js/get_script_js.php读取js不完整 很容易的将问题原因想到了php的输出缓存大小上,我把php.ini里的ou ...