热备份【pxc集群】

 

 

 

 

 

 LVM:需要对数据库加锁,此时只能读,不能写。对业务开展有影响。

XtraBackup:不加锁,即写即备

 

 

 

 

  全量备份和增量备份:

 

 

 

  对数据库第一次备份用 全量,以后用增量

现实中一般一周 做一次全量,一天做一次 增量

 

安装XtraBackup:

     

         要安装在数据库结点所在的容器内,但  备份的数据要保存在宿主机上,采用映射技术。

所以先创建数据卷,将数据卷映射到宿主机的某一结点上。

 

            1.  创建数据卷:

                  命令: docker volume  create  backup

                

             2. 选择一个数据库结点,把数据卷映射上去

                         选择 node1 这个结点【pxc的一个结点】

                             之前 创建 node1时,没有 映射这个数据卷,所以先停止node1结点,删除,在创建新的  node1,

                             由于之前的数据保存在宿主机上,所以 运行的数据不会丢失

                               2.1 停止结点:

                                docker stop node2

                                     

                              

                                 2.2 删除 结点:

                                            docker rm node2

                                       

 

                                   2.3 创建新的node2:

  docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456  -v v2:/var/lib/mysql   -v backup:/date  --privileged -e CLUSTER_JOIN=node1 --name=node2 --net=net1 --ip 172.168.0.8 pxc

 

【注意:node2 是 pxc集群中的一个结点,net1  是创建的docker 内部网络,172.168.0. 是net1的前部分】

                                        3.PXC全量备份:

 

                                        3.1 先进入 node2 结点:【如果apt-get不行,就将pxc镜像换成 5.7.21版本的】

                                                                    docker exec -it node2 bash

                                                                     或 docker exec -it -u 0 node2 /bin/bash【root权限】

                                         3.2 先对 apt进行更新:

                                           apt-get update

                                          3.3 安装xtrabackup:

                                             apt-get install percona-xtrabackup-24

                                          3.4 开始全量备份:

                                                  innobackupex --user=root --password=123456 /data/backup/full

 

 

PXC全量恢复步骤:

                    

                                    

 

不能直接在pxc集群的某个结点进行还原,因为其他的结点不知道如何和这个结点同步数据

步骤:解散pxc集群,删除全部的结点,然后创建新的数据节点,然后进行令还原,还原之后,再创建其他的数据结点,

和这个还原的结点进行数据同步,这样pxc集群就重新搭建起来了。

 

 

 

命令1:删除数据

命令2:事务回滚

命令3:进行还原

步骤:1.先删除所有pxc结点: docker

           2.删除所有数据卷

          3. 建立一个新的数据卷

           4.创建一个新的pxc结点 node1

           5. 进入pxc结点中  : docker exec -it node1  bash

           6.   删除数据【在pxc结点中】:

rm -rf /var/lib/mysql/*

            7.事务回滚

innobackupex --user=root --password=123456 --apply-back /data/backup/full/备份数据名(2018-04-15_05-09-07)/

             8.进行还原:

innobackupex --user=root --password=123456 --copy-back  /data/backup/full/2018-04-15_05-09-07/

            9. 关闭该节点:docker stop node1

           9. 重启该节点:docker start node1

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值