当前位置: 首页 > 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
http://www.dtcms.com/a/17306.html

相关文章:

  • 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》——优化器的解析和使用
  • 01.01、判定字符是否唯一
  • 【IC】AI处理器核心--第二部分 用于处理 DNN 的硬件设计
  • IoTDB 节点宕机后集群恢复
  • mysql的索引
  • C#+UDP接收数据,并将数据保存到redis,定时同步到数据库Sql Server中
  • vue3 项目如何接入 AI 大模型
  • P1878 舞蹈课(详解)c++
  • VUE环境搭建
  • k8s向容器内传文件与下载文件
  • lightning.pytorch.callbacks内置的Callbacks介绍