如何使用Docker恢复Mysql8备份的Data数据
目录
- 安装新 mysql
- 初始化数据库
- 复制文件
- 移动文件(重要步骤)
- 测试
前段时间公司数据库服务器崩溃启动不起来,经过我初步排查是/home目录挂载不上导致启动不起来,虽然通过注释/etc/fstab中的挂载信息,启动了,但是发现mysql数据有缺失, 还好有例行备份数据,就是data文件,经过我的尝试最后成功恢复数据,下面讲下方法

安装新 mysql
首先新整个服务器,安装 mysql,这里使用 docker 持久化安装 mysql
docker run -p 3306:3306 --name mysql -e TZ=Asia/Shanghai \
-v /data/mysql/log var/log/mysql:rw \
-v /data/mysql/data var/lib/mysql:rw \
-e MYSQL_ROOT_PASSWORD=123456 \
-d --restart=always mysql:8.0.11
初始化数据库
使用工具连接 mysql 直到成功初始化(连接成功)为止,然后停止 mysql
docker stop mysql
复制文件
复制备份文件到/data/mysql/的 bak_data,备份一次现有初始化的数据库(如果失败可以重新来过)
cp -r /data/mysql/data /data/mysql/data_init
移动文件(重要步骤)
mv /data/mysql/bak_data/* /data/mysql/data/
期间会提示很多文件是否需要覆盖,需要覆盖的文件输入y,不覆盖输入n:
需要覆盖文件:
- ibdata1
- ib_logfile0
- ib_logfile1
- ib_buffer_pool
- auto.cnf
- mysql.ibd
其他文件都不覆盖
测试
到这一步已经可以连接了,最后数据库启动测试
docker start mysql
您可能感兴趣的文章
- 01-07Tomcat部署Bolo动态博客
- 01-07图文详解nginx日志切割的实现
- 01-07如何解决swarm docker 端口不通问题
- 01-07详解nginx location指令
- 01-07如何解决docker http 500错误问题
- 01-07windows server 2008安装配置DNS服务器
- 01-07Linux上搭载Nginx负载均衡配置使用案例详解
- 01-07NGINX 权限控制文件预览和下载的实现原理
- 01-07Nginx防盗链与服务优化配置的全过程
- 01-07使用 Apache 反向代理的设置技巧


阅读排行
推荐教程
- 12-23linux中ftp无法访问怎么办
- 12-11docker存储目录迁移示例教程
- 12-10docker start启动容器后仍然exit状态的解决
- 12-10Linux下如何安装Logstash
- 01-05Shell脚本去重的几种方法实例
- 12-22kvm虚拟机配置NAT端口转发的实现方法
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-14Docker Desktop无法正常启动解决(failed to start...)
- 12-14k8s 与docker空间使用分析与清理方法




