利用XtraBackup实现PXC数据库的热备份
2024-09-18 20:15:23
PXC 容器中安装XtraBackup
apt-get updata
1.在宿主机创建数据库卷,将数据卷映射到某个数据库的节点上
docker volume create backup
2.暂停node1节点 并删除,重新创建node1 将备份的路径进行映射
1.删除所有mysql 数据节点容器,和数据券
docker rm node1,node2,node3,node4,node5
docker volume rm v2,v2,v3,v4,v5
docker volume create v1
docker volume create backup
2.创建node1,
docker run -d -p 3306:3306 -v v1:/var/lib/mysql -v backup:/data -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 --privileged --name=node1 -e CLUSTER_JOIN=node2 --net=net1 --ip 172.20.0.2 px
// CLUSTER_NAME=PXC 集群名字
// XTRABACKUP_PASSWORD=123456 数据库集群节点之间同步用到的密码
// --privileged 给最高的权限
// node1 为容器的名字,网段为net1 ip为172.18.0.2
// pxc 为镜像的名称
// -e CLUSTER_JOIN=node2 加入node2节点
// -v backup:/data 数据卷映射
3.进入node1容器安装热备份的工具
#进入node1容器
docker exec -it node1 bash
#更新软件包
apt-get update
#安装热备工具
apt-get install percona-xtrabackup-24
#全量热备
innobackupex --user=root --password=abc123456 /data/backup/full
4.查看备份数据卷的位置
docker inspect backup
5.全量恢复步骤:
1.删除所有mysql 数据节点容器,和数据券
docker rm node1,node2,node3,node4,node5
docker volume rm v2,v2,v3,v4,v5
docker volume create v1
docker volume create backup
2.将所有的事务都回滚
innobackupex --user=root --password=abc123456 --apply-back data/backup/full/20210-07-01_05-09-16/
3.执行恢复语句
innobackupex --user=root --password=abc123456 --copy-back /data/backup/full/20210-07-01_05-09-16/
4.重新创建mysql 集群node2,node3,node4,node5
最新文章
- android 入门笔迹(1)
- [codevs1029]遍历问题
- 移动前端头部mete
- compact过滤数组中的nil
- 每日一笔记之2:QT之坐标系统:
- JS学习第二课
- Reading or Writing to Another Processes Memory in C# z
- Java反射_JDBC操作数据
- MVC实现登录,增删改查之数据展示:JSP的EL表达式(二)
- vue-resource插件使用
- Android自定义控件之TextView
- 函数原型属性-JavaScript深入浅出(三)
- 【转】jar包和war包的介绍和区别
- List-ArrayList集合基础增强底层源码分析
- ORA-01034:ORACLE not available ORA-27101:shared memory realm does not exit
- python之Anaconda版本管理
- HDU 5901 Count primes 论文题
- Swift 多态
- windows server 2016安装docker
- JSP分页之结合Bootstrap分页插件进行简单分页