使用Docker恢复Mysql8备份的Data数据 - 诚哥博客
前段时间公司数据库服务器崩溃启动不起来,经过我初步排查是/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
本文由「诚哥博客」原创,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:使用Docker恢复Mysql8备份的Data数据 - 诚哥博客
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)