Mysql 启动遇到 The server quit without updating PID file (/[FAILED]l/mysql/data/021rjsh216086s.pid)和Attempted to open a previously opened tablespace

时间:2022-05-05 16:21:29

  今天在测试服务器做调试的时候,遇到Mysql的启动问题,好像是PID文件找不到了。

Mysql 启动遇到 The server quit without updating PID file (/[FAILED]l/mysql/data/021rjsh216086s.pid)和Attempted to open a previously opened tablespace

  不科学啊,前几天还好好的呀,我也没怎么乱搞啊,然后一通百度,找到了几个解决办法。

  1.有可能是已经存在mysql进程,多执行killall mysql,直到显示 no process killed.

Mysql 启动遇到 The server quit without updating PID file (/[FAILED]l/mysql/data/021rjsh216086s.pid)和Attempted to open a previously opened tablespace

  2.有可能是mysql的data目录没有权限,用 chown -R mysql:mysql   /usr/local/mysql/data      和  chmod -R 755 /usr/local/mysql/data 重新赋权。

  3.或者看下/etc/my.cnf里边有指定data目录有没有问题,检查下配置文件里有没有错误的。

  4.selinux要禁止,看看/etc/selinux/config,要这样配置SELINUX=disabled.

-----------------------------------------------------------------------------------------------------------------------------------

  试了试都不行,重启还是失败。于是我就看了下错误日志。

  执行 cat /usr/local/mysql/data/021rjsh216086s.err

  Mysql 启动遇到 The server quit without updating PID file (/[FAILED]l/mysql/data/021rjsh216086s.pid)和Attempted to open a previously opened tablespace

  看到这个错误点,原因是无法在 /tmp目录下创建文件,那么看看 /tmp目录下的权限大小。

  Mysql 启动遇到 The server quit without updating PID file (/[FAILED]l/mysql/data/021rjsh216086s.pid)和Attempted to open a previously opened tablespace

  看到这里问题就确定了,果然是权限不够啊。

  执行 chmod 777 /tmp 就行了。

-------------------------------------------------------------------------------------------------------------------------

  本来以为将tmp文件夹授权为777后,但发现又出现了新问题。如下图所失,Error表示orders.idb这个文件打不开了,读取不到orders的表空间。

  下边也给解决方法了。

    ①给文件加权限。

    ②将orders.odb这个文件删除。

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

    经过测试,②③执行均可以启动数据库,但是原来的数据,却有点损失。所以说数据备份很重要。

    但是数据库设置innodb_force_recovery大于0后,可以对表进行select,create,drop操作,但insert,update或者delete这类操作是不允许的。所以还需要将数据导出来,

    新建库表,再把数据导入。

Mysql 启动遇到 The server quit without updating PID file (/[FAILED]l/mysql/data/021rjsh216086s.pid)和Attempted to open a previously opened tablespace

参考文章:

  使用innodb_force_recovery解决MySQL崩溃无法重启问题

  MYSQL启动后报:ERROR! The server quit without updating PID file错误的问题解决

  [真正完美解决]InnoDB: Attempted to open a previously opened tablespace

  Mysql无法启动 InnoDB: Attempted to open a previously opened tablespace