docker化运维部署-mysql 热备份数据讲义
admin
2023-04-06 02:23:28
0

本文主要给大家简单讲讲docker化运维部署-mysql 热备份数据讲义,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,直奔主题,希望可以给大家带来一些实际帮助。


冷备份
  1. 冷备份是关闭数据库时候的备份方式,通常做法是拷贝数据文件
  2. 冷备份是最简单最安全的一种备份方式
  3. 大型网站无法做到关闭业务备份数据,所以冷备份不是最佳选择
  • PXC冷备份方案

    先让其中的一个PXC下线,然后通过拷贝数据文件的方式完成备份,备份完毕下线的PXC上线,完整于其他节点的自动同步。

热备份
  1. 热备份是在系统运行的状态下备份数据,也是难度最大的备份。举个例子,如果淘宝下线1个小时备份数据,淘宝损失多少钱,谁受的的了啊。这都是白花花的银子啊。
  2. Mysql常用的热备份有LVM和XtraBackup两种方案。LVM是针对的分区备份,针对linux系统下的,他号称任何一种数据库都可以完成备份,但是有个弊端,就是在备份的时候只能读不能写入。
  3. 建议使用XtrBackup热备Mysql,不需要锁,备份的时候即可读也可以写,XtraBackup而且还是免费的。
  4. docker化运维部署-mysql 热备份数据讲义

####XtrBackup

是一款基于InnoDB的在线热备工具,具有开源免费的,支持在线热备,占用磁盘空间小,能够非常快速的备份与恢复mysql数据库。它支持mysql的各种衍生版本。

  • XtraBackup优势

    1. 备份过程不锁表,快速可靠
    2. 备份过程不会打断正在执行的事务
    3. 能够基于压缩等功能节约磁盘空间和流量
  • 全量备份和增量备份
    1. 全量备份是备份全部数据,备份过程时间,占用空间大。
    2. 增量备份是只备份变化的那部分数据。备份时间短。占用空间小。

在正常的生产系统上,一般是一周做一次全量的备份,一周做一次增量的备份。就足够了。

XtraBackup 安装
  • 准备工作

    这个工具要求在数据库的节点之内。备份的出来的数据就直接。需要创建一个数据卷,他用来备份XtraBackup 产生的文件,然后映射到宿主机的磁盘里面。

创建数据卷

docker volume create backup

停止其中一个节点,这里选择node1,目的就是为了删除node1,增加新创建的数据卷。已经运行的容器是不可以增加新的数据卷的。只要还挂载v1的数据卷,v1的文件并没有删除,所以数据不会丢失。

docker stop node1
docker rm node1

重新安装node1 挂载新的节点,并同步其他4个节点。 --CLUSTER_JONIN=node2 新创建的node1,同步node2节点。

docker run -d -p 3306:3306  --net=net1 --name=node1 \
        -e CLUSTER_NAME=PXC \
        -e MYSQL_ROOT_PASSWORD=a123456 \
        -e XTRABACKUP_PASSWORD=a123456 \
        -v v1:/var/lib/mysql \
        --privileged \
        --ip 172.18.0.2 \
        -v backup:/data \
        -e CLUSTER_JOIN=node2 \
        percona/percona-xtradb-cluster

  • PXC 全量备份数据

    PXC容器中安全XtraBackup,并执行备份,后悔啊当初PXC的时候没直接找个带XtraBackup的镜像。

docker exec -it --user root node1
echo "nameserver 8.8.8.8" | tee /etc/resolv.conf > /dev/null 
apt-get clean
apt-get update
apt-get install vim
vi /etc/apt/sources.list 

sources.list 添加下面的内容

deb http://mirrors.163.com/ubuntu/ precise main universe restricted multiverse 
deb-src http://mirrors.163.com/ubuntu/ precise main universe restricted multiverse 
deb http://mirrors.163.com/ubuntu/ precise-security universe main multiverse restricted 
deb-src http://mirrors.163.com/ubuntu/ precise-security universe main multiverse restricted 
deb http://mirrors.163.com/ubuntu/ precise-updates universe main multiverse restricted 
deb http://mirrors.163.com/ubuntu/ precise-proposed universe main multiverse restricted 
deb-src http://mirrors.163.com/ubuntu/ precise-proposed universe main multiverse restricted 
deb http://mirrors.163.com/ubuntu/ precise-backports universe main multiverse restricted 
deb-src http://mirrors.163.com/ubuntu/ precise-backports universe main multiverse restricted 
deb-src http://mirrors.163.com/ubuntu/ precise-updates universe main multiverse restricted

apt-get clean
apt-get update
apt-get install percona-xtrabackup-24

全量备份的命令

出现completed OK!说明备份完毕。

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

PXC 全量恢复步骤
  1. 数据库可以热备份,但是不能热还原。为了避免恢复过程中的数据同步,我们采用空白的mysql还原数据,然后再建立PXC集群的方式。所以在开发中一定要注意权限问题,不要给开发人员root用户。

  2. 还原数据前要将未提交的事务回滚,还原数据之后重启!
  • 执行代码

    原来的容器全部删除

docker stop node1 node2 node3 node4 node5
docker rm node1 node2 node3 node4 node5
docker volume rm v1 v2 v3 v4 v5
docker volume create v1

创建node1 和数据卷

docker volume create v1
docker run -d -p 3306:3306  --net=net1 --name=node1 \
-e CLUSTER_NAME=PXC \
-e MYSQL_ROOT_PASSWORD=a123456 \
-e XTRABACKUP_PASSWORD=a123456 \
-v v1:/var/lib/mysql \
--privileged \
--ip 172.18.0.2 \
-v backup:/data \
percona/percona-xtradb-cluster

进入容器内还原数据库

#root用户登录
docker exec -it --user root  node1 bash
#删除数据
rm -rf /var/lib/mysql/*
#没有提交的数据回滚
innobackupex --user=root --password=a123456 --apply-back /data/backup/full/2018-12-06_17-18-19/
#执行下冷还原
innobackupex --user=root --password=a123456 --copy-back /data/backup/full/2018-12-06_17-18-19/
chown -R mysql:mysql /var/lib/mysql/ 

退出容器重启下,node1节点

docker stop node1
docker start node1

docker化运维部署-mysql 热备份数据讲义就先给大家讲到这里,对于其它相关问题大家想要了解的可以持续关注我们的行业资讯。我们的板块内容每天都会捕捉一些行业新闻及专业知识分享给大家的。

相关内容

热门资讯

空调26度不凉是什么原因 从空调内部元器件来说,不凉的原因有可能是温度传感器出现故障了,也有可能是空调压缩机或者铜管出现问题,...
鲸鸿动能携手香港国际机场、鸿蒙...   2026 年 7 月 25 日,十余位鸿蒙车主组成的车队从珠海出发,经港珠澳大桥通关抵达香港国际...
外墙涂料多少钱一平方 刷外墙涂... 外墙涂料多少钱一平方外墙涂料的价格可以分为两个部分,一个是材料价格,另外一类是施工价格。1、材料价格...
挡土墙施工的工艺流程有哪些 摘要:首先要进行测量和放样,再进行垃圾的处理,再进行模板的安装,最后只要通过检查就行了。测量放样:利...
电视用遥控器打不开怎么办 步骤一,用户可检查遥控器的电池电源电量是否充足,如若不充足更换电池后方可正常使用。步骤二,检测遥控器...
可以回答下新买的橡木浴室柜开裂... 如果橡木浴室柜刚买就发生开裂的问题,那就说明这个浴室柜的质量肯定是不合格的。遇到这种情况,一定要及时...
青海海南州再发生5.8级地震 中国地震台网正式测定:07月28日11时34分在青海海南州兴海县(北纬35.35度,东经99.58度...
风声丨支持率一夜狂跌,高市早苗... 作者丨郁风媒体评论员日本首相高市早苗,近日民调支持率突然迎来崩盘式下跌,从原本居高不下的六成左右下跌...
50年后再访唐山:经历过地震那... 澎湃新闻记者 高丹1976年7月28日,凌晨3时42分56秒,大地颠簸。一座百万人口的工业城市成为一...
上半年全国挽回税款1806亿元 国家税务总局副局长王道树7月28日在国新办新闻发布会上表示,今年上半年,全国依法查处各类涉税违法行为...