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

  • Post author:
  • Post category:mysql


5b9fd6e9d014eae45c88ec6503f131b3.png

前言

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