Docker虚拟机入门(二)--2.4 热备份数据

  • 前言

MYSQL备份数据库有自己的命令方式教程,但是此为冷备份(适合为上线的环境,不能再系统运营中备份,必须系统停机)。

  • 冷备份

Docker虚拟机入门(二)--2.4 热备份数据_第1张图片

如果在数据库集群里面一定要使用冷备份的话!

在集群当中某一个节点下线,此节点下线之后再备份这个节点的数据,这样可以实现冷备份,其他正在上线的节点是正常可以开展业务的。下线节点数据备份之后再上线,和其他节点一同步,那么下线节点和其他节点的数据就能保证实时更新了。

  • 热备份 

对于大型的电商网站一旦下线去备份数据,其实损失是很大的,最应该采用的方式是在系统运行的过程中去备份数据,即热备份!

Docker虚拟机入门(二)--2.4 热备份数据_第2张图片

  • XtraBackup介绍

Docker虚拟机入门(二)--2.4 热备份数据_第3张图片

  • XtraBackup优势

Docker虚拟机入门(二)--2.4 热备份数据_第4张图片

  • 全量备份和增量备份

Docker虚拟机入门(二)--2.4 热备份数据_第5张图片

Docker虚拟机入门(二)--2.4 热备份数据_第6张图片

一周做一次全量备份,一天做一次增量备份就足够了!

  • XtraBackup的准备工作

因为这个工具是要安装在数据库节点所在的容器之内,备份出来的数据直接保存到容器里面了,这么做不好,我们应该把备份出的数据保存到宿主机上面,采用映射的技术。

第一步我们要创建数据卷,映射到某一个数据库节点上,第二步,通过XtraBackup热备工具备份出来的数据,在宿主机上面就可以看见了。

  1. docker volume create backup
  2. 挑一个数据库节点,把数据卷映射上去如node1节点,首先我们要做的就是停下来 docker stop node1,因为当初创建这个节点的时候,创建出来的容器我们映射的是v1的数据卷,没办法再加参数了,现在要做的是删除node1,再创建新node1节点,再映射backup数据卷,不丢失数据就是之前v1数据拿回来就行 docker rm node1
  3. pxc容器安装XtraBackup,并执行备份(全量备份时间取决于数据库的数据量)

Docker虚拟机入门(二)--2.4 热备份数据_第7张图片

  • 容器里面数据备份

  • Docker虚拟机入门(二)--2.4 热备份数据_第8张图片

 

  • 容器外部的数据备份查看

  • Docker虚拟机入门(二)--2.4 热备份数据_第9张图片

  • PXC全量恢复步骤

  • 命令

1.只有冷还原

Docker虚拟机入门(二)--2.4 热备份数据_第10张图片

2.数据操作

Docker虚拟机入门(二)--2.4 热备份数据_第11张图片

3.shell命令操作

Docker虚拟机入门(二)--2.4 热备份数据_第12张图片

4.进入节点exec执行冷还原,把没有提交的事物回滚一下!

Docker虚拟机入门(二)--2.4 热备份数据_第13张图片

  • 问题

    [root@localhost ~]# docker volume create backup
    backup
    [root@localhost /]# docker stop node1
    node1
    [root@localhost /]# docker rm node1
    node1
    
    
    [root@localhost /]# docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -v v1:/var/lib/mysql -v backup:/data --privileged  -e CLUSTER_JOIN=node2 --name=node2 --net=net1 --ip 172.18.0.2 pxc
    4db1c04d89a7ae604e61d900be336a0a2e6bf84351857919beb2980798addc52
    
    
    mysql@94589b3befa8:/$ apt-get update
    E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied)
    E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
    E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
    
    
    mysql@94589b3befa8:/$ 

     

你可能感兴趣的:(dubbo)