可以用标准的数据库备份方法来备份cluster的节点数据。但这样的方法缺少GTID,这种备份也无法把节点恢复到预定的状态。此外,一些备份程序运行时可能会阻断集群操作。联合GTID来备份需要另外的途径。

状态快照转移作为备份
做一个完整的数据备份和通过state snapshot transfer做一个节点的备份是非常相似的。两种情况下,节点都使用相同的机制,来联合GTID和database状态来创建一个库内容的全备份。为启用此备份特性,需要一个脚本来实现想要的备份过程和galera仲裁者守护进程,触发的方式类似于快照转移
$ garbd --address gcomm://192.168.1.2?gmcast.listen_addr=tcp://0.0.0.0:4444 \  --group example_cluster --donor example_donor --sst backup

这条命令触发了供体节点来调用wsrep_sst_backup.sh脚本,这个脚本是mysqld进程通过PATH来找的。当供体节点到达no change are happening to the database的明确界定的点时,就会跑这个备份脚本,传递GTID给相应的当前库状态。
命令中,‘gmcast.listen_addr=tcp://0.0.0.0:4444‘是一个仲裁监听socket地址,用来与cluster通讯的。 只需指定地址,0.0.0.0:4567是默认的
通过状态快照转移机制来调用buckups有以下几点好处:
1、节点可以在一个界定好的点来启动备份
2、节点把GTID和backup相关联
3、节点与cluster不同步,避免做备份时影响带宽性能,备份进程更不会阻断节点
4、cluster知道那个节点正在执行备份,就不会选这个节点做另一个节点的供体
脚本化的状态快照转移
当一个节点发送&接收一个状态快照转移(State Snapshot Transfer)时,是通过跑一个独立于database server的外部进程来管理它的。当你不满足于这些进程提供的默认操作时,galera cluster提供一个接口给用户shell 脚本来管理节点上的状态快照转移。
使用普通的SST脚本
Galera cluster包括一个普通脚本用于管理状态快照转移,你可以用它来作为创建自己脚本的基础起点。该脚本的文件名为wsrep_sst_common.sh。Linux下默认安装在/usr/bin。普通SST脚本提供解析参数列表、错误记录等的现成功能。并且没有对参数顺序和数量的约束,可以根据自身情况增加或忽略某些参数。
它假定只有在状态转移之后,接收节点的存储引擎初始化才进行。意味着它直接拷贝源数据内容到目的数据目录
状态转移脚本参数
当galera cluster启动一个外部进程做状态快照转移时,会传递一些参数来配置状态转移脚本
1.通用参数:这些参数所有的状态转移脚本都会用到,无论发送还是接受节点
--role:区别donor或joiner
--address:joiner的IP地址,joiner可以用wsrep_sst_receive_address这个参数来配
--auth:权限信息,可通过wsrep_sst_auth参数来配
--datadir:脚本所需的数据目录来源于mysql_real_data_home这个参数
--defaults-file:my.cnf的路径
2.donor特有的参数:这些参数只被用于donor
--gtid:节点给出的GTID来自于state UUID和sequence number或seqno
--socket:如果需要,可以配置本地server的socket用于通信
--bypass:节点用于甄别是否跳过实际数据的传输,只传递GTID,也就是说该节点是否应该启动增量状态传输
3.逻辑状态转移特有的参数:这些参数只被传递到发送和接收端的wsrep_sst_mysqldump.sh脚本中
--user:用来连接joiner和donor的数据库的用户,两边都应该一致,用wsrep_sst_auth参数来定义
--password:用来连接joiner和donor的数据库的用户,两边都应该一致,用wsrep_sst_auth参数来定义
--host:joiner的IP地址
--port:joiner的端口
--local-port:发送状态转移的端口
调用规则
receiver接收并应用transfer完成之后,会输出接受节点的标准GTID,退出脚本,返回状态0,说明状态转移成功
sende在完成传输后,会发送一个done\n的信号,当脚本收到这个信号之后,会返回0值退出
启动脚本化的SST
不管用默认的自带脚本,还是自己写脚本,启动的过程都是一样的。文件名必须是wsrep_sst_<name>.sh。name是wsrep_sst_methord参数的值

转载于:https://www.cnblogs.com/buptwangjing/p/5070214.html

galera cluster数据备份相关推荐

  1. MYSQL使用MHA实现主从复制高可用、Galera Cluster介绍、压力测试、my.cnf配置参考

    MHA介绍 MHA: Master High Availability,对主节点进行监控,可实现自动故障转移至其它从节点:通过提升某一从节点为新的主节点,基于主从复制实现,还需要客户端配合实现,目前M ...

  2. Galera Cluster For MySQL

    文章目录 简介 何谓Galera Cluster 为什么需要 Galera Cluster Galera Cluster 如何解决上述问题 注意点 有很多坑? 适用场景 集群搭建 搭建环境 安装依赖包 ...

  3. Galera Cluster for MySQL 详解(二)——安装配置

    目录 一.Galera集群实验环境 二.初始安装 1. 安装galera-3.mysql-wsrep-5.7.Percona-XtraBackup-2.4.15 2. 修改配置文件 3. 初始化集群 ...

  4. (八) 数据库集群技术—Galera Cluster安装与配置

    学习预览: (一)mysql 运维基础篇(Linux云计算从入门到精通) (二)mysql 索引和视图(数据库运维基础补充) (三)mysql 触发器.存储过程和函数(数据库运维基础补充) (四)My ...

  5. Galera Cluster: 一种新型的高一致性MySQL集群架构

    2019独角兽企业重金招聘Python工程师标准>>> 1. 何谓Galera Cluster 何谓Galera Cluster?就是集成了Galera插件的MySQL集群,是一种新 ...

  6. galera mysql ubuntu_Ubuntu14.04安装Mysql Galera Cluster

    查看更多关于我的博客,点击这里 Galera简单介绍 Galera Cluster号称是世界最先进的开源数据库集群 其主要的特点有: - 多主服务模式 - 多个服务能同时被读写,不像Fabric那样, ...

  7. Galera Cluster详解

    解决主要得问题: 无论是一主多从,还是多主架构,数据同步都是基于二进制日志完成,如果某子一节点挂了,都需要及时的,手动的去提升一个子节点为主节点. Galera Cluster介绍: 它是一个集成了g ...

  8. galera mysql_MySQL高可用(Galera Cluster)

    Galera Cluster简介 Galera Cluster是集成了Galera插件的MySQL集群,是一种新型的,数据不共享的,高度冗余的高可用方案,目前Galera Cluster有两个版本,分 ...

  9. 高一致性分布式galera cluster(多主)集群

    何谓Galera Cluster?就是集成了Galera插件的MySQL集群,是一种新型的,数据不共享的,高度冗余的高可用方案,目前Galera Cluster有两个版本,分别是Percona Xtr ...

  10. Galera Cluster for MySQL 详解(一)——基本原理

    目录 一.同步复制 二.Galera复制架构 1. wsrep api 2. 全局事务ID(global transaction id,GTID) 3. Galera复制插件 4. 组通信插件 三.G ...

最新文章

  1. 【Struts2学习笔记(1)】Struts2中Action名称的搜索顺序和多个Action共享一个视图--全局result配置...
  2. 多通道ADC一致性的高精度测量方法
  3. 用户组修改工具samusrgrp
  4. ViewPager实现滑动翻页效果
  5. 《C++ Primer中文版(第5版)》学习笔记与习题完整发布!
  6. ML.NET 终于在Jupyter NoteBook 上跑起来了
  7. 某少儿不宜网站图片拍摄位置分析,Python批量读取图片GPS位置!
  8. Linux Shell脚本入门教程系列之(七)Shell输出
  9. Nodejs 了解web服务器
  10. jQuery环境搭建
  11. del服务器如何收系统日志,利用Rsyslog集中收集系统日志和用户操作记录以及相关处理方法...
  12. 百度飞桨之python小白逆袭训练营
  13. ffmpeg转码参数
  14. Maven实战_许晓斌
  15. 嵌入式面试常见问题(三)
  16. 简记_插件电阻功率选型及使用注意事项
  17. 达梦数据库DEM(企业管理器)部署实战
  18. python中最小公倍数函数_python求最大公约数和最小公倍数的简单方法
  19. 土圭垚㙓数学课(二)视锥体八个顶点的计算方法
  20. Flappy Bird成名记:28天令人咋舌却真实的故事

热门文章

  1. 火狐浏览器缓存区的利用,如何提取火狐缓存的动画
  2. 开源中国 2017 元旦寄语
  3. js 时间任意格式化 ,又来造轮子了
  4. 同一进程不同线程之间的资源共享与独享
  5. 谈谈 Delphi 的类型与指针[2]
  6. 话里话外:从纯技术顾问到业务咨询顾问的能力发展路径(上)
  7. 再见2006,奋斗2007
  8. php sockets有什么用,PHP中Sockets与流有什么关系啊!!!!!
  9. Nginx源码分析 - HTTP模块篇 - TCP连接建立过程(21)
  10. 分布式系统设计时,遵循CAP原则