当前位置: 首页 > news >正文

【mysql】记一次mysql服务挂了后的数据恢复过程

现象

服务器异常,导致mysql服务异常退出,重启后,校验redo log异常
在这里插入图片描述

说明

  1. mysql服务是通过docker-compose启动的,serviceName是db
  2. 磁盘挂载:/var/lib/mysql挂载到本地磁盘/data/mysql

处理过程

备份

  1. 查看磁盘挂载列表
    docker volume ls
  2. 查看磁盘挂载目录
    docker volume inspect 【挂载名】
  3. 文件备份
    cp -r 【挂载目录】 【备份目录】
  4. 修改mysql配置
    在[mysqld]增加innodb_force_recovery=6
  5. 重启服务
    docker-compose up -d db

    由于docker-compose内还有其他服务,启动其他服务会连接mysql操作数据,不利于后续数据导出,故只启动db服务

  6. 进入db容器
    docker exec -it db /bin/bash
  7. 数据导出
    容器内执行以下命令
    a. 导出数据
    mysqldump -u root -p --ignore-table=【忽略导出的表1】 --ignore-table=【忽略导出的表2】 【待导出的database】 > backup.sql
    b. 导出结构
    mysqldump -u root -p --no-data 【待导出的database】 【忽略导出的表1】 【忽略导出的表2】 > schema.sql
  8. 导出文件拷贝
    将导出的文件拷贝到映射目录,避免容器关闭后文件丢失
    cp backup.sql /var/lib/mysql/
    cp schema.sql /var/lib/myql/

    此时,两个文件已拷贝至宿主机的/data/mysql
    拷贝至备份目录,避免移除挂载卷时文件丢失
    cp /data/mysql/backup.sql /data/mysql_backup/backup.sql
    cp /data/mysql/schema.sql /data/mysql_backup/schema.sql

  9. 关闭容器
    docker-compose down
  10. 移除挂载目录
    docker volume rm 【挂载名】
  11. 重启db服务
    docker-compose up -d db
  12. 拷贝导出的文件到容器挂载目录
    cp /data/mysql/backup.sql /data/mysql/
    cp /data/mysql/schema.sql /data/mysql/
  13. 进入db容器
    docker exec -it db /bin/bash
  14. 导入数据
    mysql -p 【待导入的database】 --default-character-set=utf8 < /var/lib/mysql/backup.sql
    mysql -p 【待导入的database】 --default-character-set=utf8 < /var/lib/mysql/schema.sql
  15. 恢复其他服务
    docker-compose up -d

相关文章:

  • FPGA与传统硬件开发:开发流程与效率对比
  • spring 学习 (注解)
  • 图神经网络简介
  • C37.【C++ Cont】二叉树的存储方式和四种遍历
  • stm32 lwip tcp服务端频繁接收连接失效问题解决(tcp_recved)
  • 基于单片机的仓库安防系统(论文+源码)
  • mount与busybox mount
  • 深兰科技与银川市苏银产业园签署协议,共建AI装备西部产业基地
  • 在 Kubernetes (K8s) 环境中,备份 PostgreSQL 数据库
  • Python----PyQt开发(PyQt高级:组件大小,界面位置,按钮,文本显示,文本输入,字体大小)
  • 502 Bad Gateway 错误详解:从表现推测原因,逐步排查直至解决
  • 如何判断网页是不是鸿蒙手机浏览器里打开
  • 道路运输安全员考试题库及答案
  • 算法-哈希表篇05-四数相加II
  • Python 进阶:元类编程
  • 单例设计模式
  • 算法题(67):最长连续序列
  • 一个让Stable Diffusion更稳定、更易用的Github开源项目
  • docker学习---第3步:docker实操大模型
  • 《pytorch》——优化器的解析和使用
  • 车建兴被留置:跌落的前常州首富和红星系重整迷路
  • 《上海市建筑信息模型技术应用指南(2025版)》发布
  • 1至4月全国铁路发送旅客14.6亿人次,创同期历史新高
  • 视频|王弘治:王太后,“先天宫斗圣体”?
  • 首个偏头痛急性治疗药物可缓解前期症状
  • 法治日报:炮制师生日常剧本,校园怎么成了短视频流量秀场?