PXC备份方式总结
记录一下。
1、mysqldump数据导出
关于GTID:
GTID是MySQL5.6以后,加入了全局事务 ID (GTID) 来强化数据库的主备一致性,故障恢复,以及容错能力。
A global transaction identifier (GTID) is a unique identifier created and associated with each transaction committed on the server of origin (master).
所以可能是因为在一个数据库里面唯一,但是当导入其他的库就有可能重复。所有会有一个提醒:
Warning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions, even those that changed suppressed parts of the database.
If you don't want to restore GTIDs, pass --set-gtid-purged=OFF. To make a complete dump, pass --all-databases --triggers --routines --events.
如果进行mysqldump时,没有使用--set-gtid-purged=OFF参数,备份出来的SQL就会出现SET @@GLOBAL.GTID_PURGED='4e53cb9a-fa5e-ee17-6889-8815f2fe1df6:1-54398';的情况,
1-54398这个的区间是主库中当前所完成的所有事务号。这条语句在备份被恢复的时候,起到的作用是:不再从主库同步1-54398 这个范围内的事务了。
secure_file_priv :
这个参数用来限制数据导入和导出操作的效果,例如执行LOAD DATA、SELECT ... INTO OUTFILE语句和LOAD_FILE()函数。这些操作需要用户具有FILE权限。
secure_file_priv参数说明:
- 如果这个参数为空,secure_file_priv="" ,数据导入导出不做目录限制;
- 如果这个参数设为一个目录名,secure_file_priv="/data/backup/",MySQL服务只允许在这个目录中执行文件的导入和导出操作,这个目录必须存在,MySQL服务不会创建它;
- 如果这个参数为,secure_file_priv="NULL",MySQL服务会禁止导入和导出操作。这个参数在MySQL 5.7.6版本引入;
关于pxc_strict_mode:
pxc_strict_mode=ENFORCING
mysqldump 需要加入 --skip_add_locks --skip-lock-tables 这两个参数
1) 导出表结构
# pxc_strict_mode=ENFORCING
/usr/bin/mysqldump -uroot -p*** -S /tmp/pxc3306.sock --set-gtid-purged=OFF --skip_add_locks --skip-lock-tables --databases -d test_db0 > test_db0.sql
# pxc_strict_mode=DISABLED
/usr/bin/mysqldump -uroot -p*** -S /tmp/pxc3306.sock --set-gtid-purged=OFF --databases -d test_db0 > test_db0.sql
2) 导出数据
# pxc_strict_mode=ENFORCING
/usr/bin/mysqldump -uroot -p*** -S /tmp/pxc3306.sock --set-gtid-purged=OFF --skip_add_locks --skip-lock-tables --skip-tz-utc -T . test_db0
# pxc_strict_mode=DISABLED
/usr/bin/mysqldump -uroot -p*** -S /tmp/pxc3306.sock --set-gtid-purged=OFF --skip-tz-utc -T . test_db0
3) 恢复库和表结构
/usr/bin/mysql -uroot -p*** -S /tmp/pxc3306.sock < test_db0.sql
- 恢复数据
/usr/bin/mysqlimport -uroot -p*** -S /tmp/pxc3306.sock --local test_db0 `find -name "*.txt"`
2、innobackupex备份方式
和普通的MySQL的使用方式相同,不做赘述
备份时加入 --gralera-info 参数,apply log时会生成集群ID信息用于恢复
备份:
/usr/bin/innobackupex --defaults-file=/etc/pxc3306.cnf --user=root --password=*** --socket=/tmp/pxc3306.sock --gralera-info ./
恢复:
/usr/bin/innobackupex --apply-log ./2018-04-08_16-11-06/
具体参考:
https://www.cnblogs.com/wshenjin/p/7736131.html
https://www.cnblogs.com/wshenjin/p/7988212.html
PXC备份方式总结的更多相关文章
- 为MySQL选择合适的备份方式
数据库的备份是极其重要的事情.如果没有备份,遇到下列情况就会抓狂: UPDATE or DELETE whitout where… table was DROPPed accidentally… IN ...
- Redis学习——Redis持久化之AOF备份方式保存数据
新技术的出现一定是在老技术的基础之上,并且完善了老技术的某一些不足的地方,新技术和老技术就如同JAVA中的继承关系.子类(新技术)比父类(老技术)更加的强大! 在前面介绍了Redis学习--Redis ...
- 为MySQL选择合适的备份方式[转]
原文链接:http://nettedfish.sinaapp.com/blog/2013/05/31/choose-suitable-backup-strategy-for-mysql/ 数据库的备份 ...
- MySQL常用的备份方式与备份工具简介
一.MySQL备份方式与备份类型 1.备份的必要性 再生产环境中,为了防止硬件故障.软件故障.自然灾害.误操作等各种原因导致的数据库数据丢失后能恢复到事故之前的状态,我们需要对数据库进行备份和恢复操作 ...
- 选择适用才最好 盘点MySQL备份方式
我们要备份什么? 一般情况下, 我们需要备份的数据分为以下几种 数据 二进制日志, InnoDB事务日志 代码(存储过程.存储函数.触发器.事件调度器) 服务器配置文件 备份工具 这里我们列举出常用的 ...
- redis笔记之两种持久化备份方式(RDB & AOF)
Redis支持的两种持久化备份方式(RDB & AOF) redis支持两种持久化方式,一种是RDB,一种是AOF. RDB是根据指定的规则定时将内存中的数据备份到硬盘上,AOF是在每次执行命 ...
- Linux下SVN的三种备份方式
原文链接:http://blog.csdn.net/windone0109/article/details/4040772 (本文例子基于FreeBSD/Linux实现,windows环境请自己做出相 ...
- oracle的备份方式
一.完全备份 exp 用户/密码@库名 file=存储位置 二.RMAN https://www.cnblogs.com/Latiny/p/6920428.html RMAN在数据库服务器的帮助下实现 ...
- mysql数据库-备份方式简介与规范
目录 1 应对场景: 2. 备份方式分类 2.1 按备份数据类型划分 2.2 按侵入程度划分 2.3 按备份方式划分 3 备份注意要点 4 还原要点 4.1 定期还原测试,验证备份可用性 4.2 还原 ...
随机推荐
- 重签名提示:无法对 jar 进行签名: java.util.zip.ZipException
使用jarsigner对APK重签名,提示:jarsigner: 无法对 jar 进行签名: java.util.zip.ZipException: invalid entry compressed ...
- [pat]1007 Maximum Subsequence Sum
经典最大连续子序列,dp[0]=a[0],状态转移dp[i]=max(dp[i-1]+a[i],a[i])找到最大的dp[i]. 难点在于记录起点,这里同样利用动态规划s[i],如果dp[i]选择的是 ...
- iOS UI进阶-6.0 手势
给每个页面添加手势,只需要统一设置不是根控制器的页面,都增加手势.需要自定义导航控制器 1.继承代理 @interface BSNavigationController ()<UIGesture ...
- js判断手机是安卓还是ios
//点击下载按钮判断appDown() { var u = navigator.userAgent; var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac O ...
- 胸片和CT断层图像是怎么来的?
本文作者系医科大学青年教师,关注公众号"计算机视觉life"菜单栏回复"医学" 进群交流 如何得到CT断层图像? 相信小伙伴体检的时候都拍过胸片,假如哪个不幸的 ...
- VS 星期作业 if else的应用 做一个受不受异性欢迎的小程序
static void Main(string[] args) { //漏掉代码 输入错误 进行提示! string T1, T2, T3, T4, T5, T6, T7, T8, T9, T10=& ...
- linux 监控脚本运行时间
虽然可以使用time命令,但是有时候会有写日志之类的需求. 使用如下脚本可以计算时间: #!/bin/bash sdate=`date +%s.%N` edate=`date +%s.%N` echo ...
- linux安装flash player来播放视频
1下载64位flashplayer插件,可在此下载(偷偷赚俩金币,为省金币也可到官网去搜),得到flashplayer11_b2_install_lin_64_080811.tar.gz: http: ...
- UVa-1025城市里的间谍 A Spy in the Metro
原题 城市里的间谍 分析 动态规划,dp[i][j]表示你在时刻i,车站j,最少还要等待的时间. 边界条件d[T][n]=0 已经到达,其他d[T][i]=inf不可达. 在一个站点时,有以下三种决策 ...
- arm-cache coherency
提高一个系统的performance,有两种办法: 1) 不断提高一个core的performance,手段就是不断提高freq,减小Vt,这样都会在增加power(dynamic,leakage) ...