docker 恢复MySQL阿里云数据库

1、docker-composer myql 文件
    mysql80:
        image: mysql:8.0.16
        container_name: mysql80
        ports:
          - "3308:3306"
        environment:
          - MYSQL_ROOT_PASSWORD=123456
        volumes:
          - /Users/docker/laradock/mysql80/conf:/etc/mysql
          - /Users/docker/laradock/mysql80/data:/var/lib/mysql
        networks:
          - frontend
          - backend
2、更换国内镜像
# 将容器中的文件拷贝出来
docker cp mysql80-xtrabackup:/etc/apt/sources.list  ./
# 将修改后的文件覆盖回容器中
docker cp ./sources.list mysql80-xtrabackup:/etc/apt/
# 进入容器以后,执行下面命令更新apt信息
apt-get update

3、下载好文件percona-xtrabackup-80_8.0.13-1.buster_amd64.deb,拷贝到容器中 下载链接

# 复制进容器
docker cp ./percona-xtrabackup-80_8.0.13-1.buster_amd64.deb  mysql80-xtrabackup:/root
# 安装所需依赖
apt install libev4
apt --fix-broken install
# 安装
dpkg -i percona-xtrabackup-80_8.0.13-1.buster_amd64.deb
# 安装 qpress (先去下载 然后解压 复制进容器)[qpress 安装](https://www.cnblogs.com/abclife/p/7568345.html)
docker cp ./qpress mysql80-xtrabackup:/usr/bin/
4、解包
cat hins13423453_data_20200727054807_qp.xb | xbstream -x -v -C /etc/mysql/backup/data
5、解压
xtrabackup --decompress --remove-original --target-dir=/etc/mysql/backup/data

6、恢复解压好的备份文件。

xtrabackup --prepare --target-dir=/etc/mysql/backup/data

7、复制文件到 /var/lib/mysql(我复制报 empty错误,先清空/var/lib/mysql 目录 然后把恢复好的那个复制过去就行)

xtrabackup --datadir=/var/lib/mysql --copy-back --target-dir=/etc/mysql/backup/data

8、修改 my.cnf 新增

lower_case_table_names = 1

9、重启mysql服务

# 重启docker 容器就行,密码是备份那个数据库的密码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值