突然关机重启后mysql打不开_电脑突然死机后mysql无法启动

电脑由于断电或其他原因死机,重新启动后,电脑里面的mysql服务无法正常启动,报数据不一致或者表空间列法找到等错误。此种情况下,通过如下步骤可正常恢复,亲测可用,环境为macOS, mysql5.7, InnoDB。

1. 修改mysql配置文件my.cnf,增加innodb_force_recovery = 5.

2. 试着启动mysql服务,若不能启动可将innodb_force_recovery的值设置为6,再试一下。mysql若能正常启动,则可采用此方案,否则需要采用其他办法。此种办法启动后的mysql属于只读模式,不能写入数据。

3. 使用mysqldump命令备份数据库,此命令可将实例中的所有数据库均备份:mysqldump -uroot -pxxx --all-databases > all.sql

4. 停止数据库,删除data目录(删除前最好备份,以防万一),使用mysqld --initialize命令重新初始化数据库。此命令运行成功后,控制台上会打出预设的root用户密码,需要记下此密码,后面登陆后需要先修改密码,才可以进行其他操作。

5. 删除my.cnf中的innodb_force_recovery参数,重新启动数据库,然后在命令行使用mysql -uroot -p,输入上步中得到密码登录数据。

6. 使用下述命令修改密码:

SET PASSWORD = PASSWORD('你的新密码');

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

FLUSH PRIVILEGES;

7. 恢复之前通过mysqldump备份的数据,执行mysql -uroot -p < all.sql

然后再登录数据库就可看到发生故障时的数据了,数据库恢复正常。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值