因断电引起Mysql崩溃启动失败修复方法

前言

Mysql 因断电引起数据库崩溃启动失败修复方法
会恢复大部分数据,一小部分因为文件损坏会丢失,日常备份的话数据丢失量会更小。

  • 环境说明
    • CentOS 6.5
    • Mysql 5.7.22

一、修改启动方式

  • 修改 MySQL 启动方式为恢复模式,修改 /etc/my.cnf,
  • 添加innodb_force_recovery=6 这一行,然后重新启动MySQL,这个模式下只能读取数据库中没有受到影响的数据,不能做删除修改操作。
vim /etc/my.cnf
innodb_force_recovery=6

二、备份数据

Navicat 备份数据库数据,因为会有一些数据损坏会读取不了,所以不要启用事务。

三、备份数据文件

  • 停止数据库服务
  • 备份文件,直接把MySQL目录移动到备份文件夹,改名日期。
mv new_mysql ./mysqldata/20190327

四、初始化数据库文件夹启动

mysqld --initialize-insecure --user=mysql
service mysqld start

五、修改密码

mysql -uroot -p
SET PASSWORD = PASSWORD(123456);//123456不用改
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;

六、恢复数据

  • 把之前备份的数据库恢复即可

七、异常问题

  • 初始化完成启动失败Starting MySQL… ERROR! The server quit without updating PID file
    • ①权限 chown -R mysql.mysql /home/myslq
    • ②执行 chcon -R -t mysqld_db_t /home /mysql
    原文作者:skygrey
    原文地址: https://www.jianshu.com/p/ab37ff44e1ac
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞