如何使用Docker恢复Mysql8备份的Data数据

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

如何使用Docker恢复Mysql8备份的Data数据

诚哥博客   2022-11-27 我要评论

前段时间公司数据库服务器崩溃启动不起来,经过我初步排查是/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

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们