mysql未关闭的时候关机_解决MYSQL未正常关机造成的无法重启

error “Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/yourservername.pid)”主要解决这个报错后边的文件位置可能由于安装位置等略有不同,大家根据自己的实际情况判断

这种情况一般发生在MYSQL被强制kill掉或者是版本更新之后造成的。主要是MySQL 数据目录中的权限和所有权不足问题。MySQL 数据目录中的 PID 文件已消失,没有它,MySQL 的操作也不会消失。默认 MySQL 数据目录是 /var/lib/mysql/。您可以在 MySQL 数据目录中看到”.err”文件。这是 MySQL 错误日志,它将给出 MySQL 失败的确切原因。我将在下方放一个启动失败的报错。

$ 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/server.vasco.com.pid)

解决方案

当我们重启MYSQL时遇到这个错误,我们查看资料会发现这个问题的解决方案有很对,但是网络上的文章很少有完整的流程,我将在这里给大家提供一个比较完善的流程大家根据情况逐步执行,执行一步尝试重启一次,以测试问题是否完美解决。同时建议大家养成好习惯在可能有危险性操作时对目录做备份。

<1>建议首先使用SSH工具远程登入服务器,然后尝试手动启动数据库,这里提供两条命令大家任选其一,也可以逐一尝试。

$ /etc/init.d/mysql restart

$ service mysql restart

<2>如果我们上述的两条命令不能重启,我们要考虑是不是MYSQL进程已被卡死,如果存在运行中的MYSQL进程的话必须先杀死这些进程才能重启。

$ ps -aux | grep -i mysql

#查看musql的进程号

如果显示存在我们需要杀死这些进程,杀死命令如下

$ kill -9 PID

#PID为mysql上边查询出来的进程号

<3>检查MYSQL数据目录权限,所有者是不是mysql,如果是root用户则需要变更为mysql用户。

$ ll -aF /var/lib/mysql/

如果其所有者是 root,则应使用以下命令将所有权更改为 mysql用户或提前设定的数据库用户。

$ chown -R mysql /var/lib/mysql/

<4> 备份 mysql.sock 文件然后将其删除。可以参考下方提供代码

$ cp /var/lib/mysql.sock /var/lib/mysql.sock_bkp

$ rm -rf /var/lib/mysql.sock

<5> 删除 MySQL 配置文件,删除之前记得备份。

$ mv /etc/my.cnf /etc/my.cnf.bak

$ rm -rf /etc/my.cnf

# 注意有些服务器为了安全可能不支持执行rm -rf命令可以根据实际删除方式删除配置文件

<6>备份mysql数据目录/var/lib/mysql/ 目录然后删除其中中名为 ib_logfile 的日志文件,然后尝试重新启动mysql服务,一般mysql重启之后会重新生成日志文件。

<7>在 MySQL 数据目录 /var/lib/mysql/中查找后缀为”.err”的日志文件。这些文件包含实际的错误消息。您可以尝试删除这些报错内容之后重启服务。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL 非正常关机时,可能会导致 InnoDB 存储引擎出现故障而无法启动 MySQL 服务。以下是一些可能的解决方法: 1. 检查 MySQL 错误日志文件,查看是否有关于 InnoDB 引擎的错误信息。你可以找到错误日志文件的路径,一般在 MySQL 的数据目录下。 2. 如果错误日志中提示 InnoDB 存储引擎的错误,尝试使用 InnoDB 引擎的恢复工具进行修复。你可以尝试使用如下命令来启动 MySQL 服务,并运行 InnoDB 恢复工具: ``` mysqld --innodb_force_recovery=1 ``` 这将启动 MySQL 服务,并强制 InnoDB 引擎运行在恢复模式下。在这种模式下,你可以尝试使用 `mysqlcheck` 工具来检查和修复 InnoDB 表。 3. 如果 InnoDB 恢复工具无法修复问题,你可以尝试删除 InnoDB 数据文件,然后重新创建它们。首先,备份 MySQL 数据目录。然后停止 MySQL 服务,并删除 InnoDB 数据文件(一般是 ibdata1、ib_logfile0、ib_logfile1)。最后,重新启动 MySQL 服务,它将会自动创建新的 InnoDB 数据文件。 注意:这种方法将会删除所有 InnoDB 表的数据,所以请确保你已经备份了数据目录。 4. 如果以上方法均无法解决问题,你可能需要考虑重建 MySQL 实例。首先备份 MySQL 数据目录,然后停止 MySQL 服务,并删除数据目录下的所有文件和子目录。最后,重新初始化 MySQL 实例,并恢复备份数据。 总之,非正常关机可能会导致 MySQL 数据库出现故障,但是你可以采取以上方法来修复问题。为了避免这种情况的发生,你应该尽量避免非正常关机,例如在关闭系统前先停止 MySQL 服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值