服务器断电导致mysql崩溃,使用恢复模式的解决步骤

这篇具有很好参考价值的文章主要介绍了服务器断电导致mysql崩溃,使用恢复模式的解决步骤。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境

系统:centos7
数据库:mysql5.7.37
数据库目录: /usr/bin
数据目录: /var/lib/mysql
配置文件位置: /etc/my.cnf 

报错日志

2024-02-18T08:45:58.039432Z 0 [ERROR] InnoDB: Page [page id: space=0, page number=238] log sequence number 8738273916 is in the future! Current system log sequence number 8738272796.
2024-02-18T08:45:58.039450Z 0 [ERROR] InnoDB: Your database may be corrupt or you may have copied the InnoDB tablespace but not the InnoDB log files. Please refer to http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html for information about forcing recovery.
2024-02-18T08:45:58.039504Z 0 [ERROR] InnoDB: Page [page id: space=0, page number=239] log sequence number 8738275019 is in the future! Current system log sequence number 8738272796.
2024-02-18T08:45:58.039510Z 0 [ERROR] InnoDB: Your database may be corrupt or you may have copied the InnoDB tablespace but not the InnoDB log files. Please refer to http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html for information about forcing recovery.
2024-02-18T08:45:58.040921Z 0 [Note] InnoDB: Starting an apply batch of log records to the database...

  打开提示的引用地址 MySQL :: MySQL 5.7 Reference Manual :: 14.22.2 Forcing InnoDB Recoveryhttp://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html  查看网页 可知主要 通过修改配置文件 innodb_force_recovery来 打开恢复模式

打开恢复模式

编辑数据库配置文件

配置文件[mysqld]下加入参数 innodb_force_recovery = 1 ,其中后面的值设置为1、如果1不能恢复,再逐步增加为2/3/4等。直到能启动mysql为止!!!
注意:最高值为6,但当参数值大于3的时候。会对数据文件造成永久性的破坏。

[mysqld]
innodb_force_recovery = 1



启动数据库

systemctl start mysqld.service

此时进入的恢复模式,数据库是只读的

数据备份


下面需要把数据库备份出来,然后清除之前损坏的数据,利用备份数据恢复
执行:

/usr/bin/mysqldump -uroot -p123456 --all-databases > /ambuf/mysql/backup240818.sql

执行完了 去掉 innodb_force_recovery = 1 参数

清除损坏的数据
清除之前需要把服务停止:

systemctl stop mysqld.service

备份原data目录以防万一:

cp -r /var/lib/mysql/ /ambuf/mysql/data_bak/
rm -rf /var/lib/mysql/*

数据库初始化


上个步骤已经清空了data目录,所以此时数据库是启动不了的,需要进行初始化
进入 安装目录下进行初始化

/usr/bin/mysql_install_db --user=mysql&

下面就可以利用mysqldump出来的数据进行恢复了,但因为刚刚进行了初始化,之前的密码已经没用了,需要在配置文件加入 skip-grant-tables
vi /etc/mysql/my.cnf
 

[mysqld]
skip-grant-tables

启动mysql数据库 

systemctl start mysqld.service

通过 查找日志获取临时密码

grep "temporary password" /var/log/mysqld.log

执行结果如下

2023-11-08T03:40:10.570444Z 1 [Note] A temporary password is generated for root@localhost: bf*17blep(_R
2024-02-18T09:23:22.815511Z 1 [Note] A temporary password is generated for root@localhost: i45emkw99*Ug

再次登录数据库

mysql -uroot -pi45emkw99*Ug

重新设置 登录用户密码权限。执行:

set global validate_password_policy = 0;
SET PASSWORD = PASSWORD("123456");
ALTER USER USER() IDENTIFIED BY "123456";
grant all privileges on *.* to root@'%' identified by "123456";
flush privileges;

打开配置文件my.cnf, 去掉 skip-grant-tables 参数

 vi /etc/mysql/my.cnf

登录数据库恢复数据

 再次登录数据库

mysql -uroot -p123456

 导入之前 备份文件

 source /ambuf/mysql/backup-240218.sql

重启数据库查看 数据恢复情况。
 文章来源地址https://www.toymoban.com/news/detail-835096.html

到了这里,关于服务器断电导致mysql崩溃,使用恢复模式的解决步骤的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • raid5两块磁盘掉线导致阵列崩溃的服务器数据恢复案例

    服务器数据恢复环境: DELL PowerVault系列某型号存储,15块硬盘搭建了一组RAID5磁盘阵列。   服务器故障检测: 存储设备raid5阵列中一块磁盘由于未知原因离线,管理员对该磁盘阵列进行了同步操作。在同步的过程中又有一块磁盘指示灯报警,磁盘离线,磁盘阵列同步失败,

    2024年02月13日
    浏览(60)
  • 热备盘激活失败导致raid5阵列崩溃的服务器数据恢复案例

    服务器数据恢复环境: 一台Linux Redhat操作系统服务器上有一组由5块硬盘组建的raid5阵列,包含一块热备盘。上层部署一个OA系统和Oracle数据库。 服务器故障: raid5阵列中的1块磁盘离线,硬盘离线却没有激活热备盘,直到另外一块磁盘离线导致阵列崩溃。 用户要求恢复raid5的

    2024年02月15日
    浏览(63)
  • 【北亚企安数据恢复】RAIDZ多块磁盘离线导致服务器崩溃的数据恢复案例

    服务器数据恢复环境: ORACLE SUN ZFS某型号存储,共40块磁盘组建存储池,其中的36块磁盘分为三组,每组12块,单个组使用ZFS特有的RAIDZ管理所有磁盘,RAIDZ级别为2;另外的4块磁盘作为全局热备。存储池内划分出若干空间映射到服务器使用。 服务器故障: 服务器正常运行过程

    2024年01月18日
    浏览(56)
  • 服务器数据恢复—raid5热备盘未激活崩溃导致上层oracle数据丢失的数据恢复案例

    服务器数据恢复环境: 某品牌X系列服务器,4块SAS硬盘组建了一组RAID5阵列,还有1块磁盘作为热备盘使用。服务器上层安装的linux操作系统,操作系统上部署了一个基于oracle数据库的OA(oracle已经不再为该OA系统提供后续服务支持)。 服务器故障: raid5中一块磁盘离线,热备盘

    2024年02月05日
    浏览(60)
  • 服务器数据恢复—服务器进水导致阵列中磁盘同时掉线的数据恢复案例

    服务器数据恢复环境: 数台服务器+数台存储阵列柜,共上百块硬盘,划分了数十组lun。 服务器故障检测: 外部因素导致服务器进水,进水服务器中一组阵列内的所有硬盘同时掉线。 北亚数据恢复工程师到达现场后发现机房内有一台存储柜中的机器都没有开机。和用户方沟

    2024年01月23日
    浏览(51)
  • 【服务器数据恢复】raid离线磁盘上线失败导致分区不识别的数据恢复

    服务器数据恢复环境: HP ProLiant DL某系列服务器,三块SAS硬盘组建raid阵列。 上层系统部署有数据库,数据库存放在D分区,备份存放在E分区。 服务器故障: 磁盘故障导致RAID瘫痪,其中一块硬盘状态灯显示红色。存放数据库文件的D分区无法识别;E分区可识别,但是拷贝备份

    2024年02月06日
    浏览(44)
  • 服务器数据恢复—nas硬盘故障导致raid6失效、存储无法访问的数据恢复案例

    服务器故障分析: 一台nas存储中有一组由十几块硬盘组建的raid6磁盘阵列。 nas存储中的raid6阵列成员盘出现故障离线,磁盘阵列崩溃,nas存储无法正常访问。 北亚企安数据恢复工程师将nas存储内的所有硬盘编号后取出,经过硬件工程师检测后,发现所有硬盘(包括离线的硬盘

    2024年02月08日
    浏览(33)
  • 【服务器数据恢复】Raid5热备盘同步失败导致lvm结构损坏的数据恢复案例

    服务器数据恢复环境: 两组由4块磁盘组建的raid5磁盘阵列,两组raid5阵列划分为lun并组成了lvm结构,ext3文件系统。 服务器故障: 一组raid5阵列中的一块硬盘离线,热备盘自动上线并开始同步数据。在热备盘完成同步之前,该组raid5阵列中另一块硬盘离线,热备盘同步失败,该

    2024年01月16日
    浏览(41)
  • 优化 - 重构一次Mysql导致服务器的OOM

    优化了一次前后端处理不当导致的CPU的一次爆机行为,当然,这和服务器的配置低也有着密不可分的关系,简单的逻辑学告诉我们,要找到真正的问题,进行解决,CPU爆机的关键点在于前后端两个方面,下面针对具体的问题,进行分析和解决。 定位问题 看监控的图表,CPU已

    2024年01月21日
    浏览(70)
  • 不停机修复mysql主从数据同步错误导致服务器磁盘占满问题

    事情的现象:         线上生产环境mysql服务器采用主从结构。突然告警从库服务器磁盘占用高。经过磁盘空间检查,主要是/mysql/data目录使用100%(直接占满了),进入目录后发现被文件slave-relay-bin.*系列文件占满了。常理数据不会这么大,主库一切正常,磁盘空间也正常。

    2024年02月02日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包