mysqlbackup 重建带有gtid特性的slave
一、mysqlbackup简介:
mysqlbackup是mysql的一个企业级备份工具,优点就是牛逼,缺点就是这东西要钱买。
二、gtid 特性简介:
gtid 的中文名叫全局事务ID,也就是说每一个事务都会对应一个全局唯一的编号;由于这个编号也会被写入到binlog
只要slave把自己的已经应用的gitd发给master, master就能知道slave同步到了二进制日志的那个位置。也就是说之前
的master_log_file,master_log_pos被革命了。
三、重建slave大致上要分如下几步:
1、备份master
2、传输备份到slave主机
3、确保slave已经停止,数据目录已经清空
4、还原备份
5、建立主从关系,启动复制
四、备份master:
1、备份脚本
mysqlbackup --defaults-file=/etc/my.cnf --backup-dir=/tmp/ --with-timestamp \
--host=127.0.0.1 --port= --user=mebuser --password='Pass@352' \
--compress --skip-binlog --skip-relaylog --limit-memory= \
--read-threads= --process-threads= --write-threads= \
--backup-image=/tmp/$(date +'%F_%H-%M-%S').mbi \
backup-to-image
2、注意事项
--no-locking 这个选择使得mysqlbackup在备份的最后阶段不锁表,这样就得不到一个全局一致的备份;之所以说是全局一致是
是因为对于innodb表来说是一致的,因为在还原的时候会前滚回滚,但是MyIASM表就不能保证一致了;所以这种情况下mysqlbackup
得不到一个正确的binlog位置,这样做重建是有问题的。
3、性能优化项:
--read-threads --write-threads 如果你的磁盘性能比较牛逼就调大这两个参数
--process-threads 如果你的cpu性能比较牛逼就调大这个上参数
--limit-memory 如果你的内存比较空闲就调大这个上参数
五、传输备份到slave:
scp --29_16--.mbi root@172.16.192.111:/tmp/
六、停止slave 并清空它的数据目录:
systemctl stop mysql
mv /database/mysql/data/ /database/mysql/data/.backup.
mkdir -p /database/mysql/data//
七、还原备份:
1、还原脚本
mysqlbackup --defaults-file=/etc/my.cnf --backup-dir=/tmp/meb --with-timestamp --backup-image=/tmp/--29_16--.mbi \
--datadir=/database/mysql/data// --uncompress copy-back-and-apply-log
2、还原后的数据目录内容
ll /database/mysql/data//
total
-rw-r--r--. root root Aug : backup_gtid_executed.sql # 记录着gtid相关信息
-rw-r--r--. root root Aug : backup_variables.txt
-rw-r--r--. root root Aug : ib_buffer_pool
-rw-r--r--. root root Aug : ibdata1
-rw-r-----. root root Aug : ib_logfile0
-rw-r-----. root root Aug : ib_logfile1
drwxr-x---. root root Aug : mysql
drwxr-x---. root root Aug : performance_schema
-rw-r--r--. root root Aug : server-all.cnf
-rw-r--r--. root root Aug : server-my.cnf
drwxr-x---. root root Aug : sys
3、修改数据目录的权限
chown -R mysql:mysql /database/mysql/data/
八、启动slave并配置复制:
1、启动slave
systemctl start mysql
2、更新slave上gtid信息
reset master;
set sql_log_bin=;
source /database/mysql/data//backup_gtid_executed.sql
3、配置复制
change master to
master_user='repl',
master_password='xxxxxxxx',
master_host='172.16.192.110',
master_port=,
master_auto_position=; start slave;
4、查看复制的状态
show slave status \G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 172.16.192.110
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000004
Read_Master_Log_Pos: 3206
Relay_Log_File: clusterb-relay-bin.000002
Relay_Log_Pos: 626
Relay_Master_Log_File: mysql-bin.000004
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
总结:
用mysqlbackup重建带有gtid特性的slave的过程大致就是上面这个样子了,这里并没有对mysqlbackup有过多的讲解,
官方文档见:MySQL Enterprise Backup 4.1
交流学习
----
mysqlbackup 重建带有gtid特性的slave的更多相关文章
- How to create/restore a slave using GTID replication in MySQL 5.6
MySQL 5.6 is GA! Now we have new things to play with and in my personal opinion the most interesting ...
- 与MySQL传统复制相比,GTID有哪些独特的复制姿势?
与MySQL传统复制相比,GTID有哪些独特的复制姿势? http://mp.weixin.qq.com/s/IF1Pld-wGW0q2NiBjMXwfg 陈华军,苏宁云商IT总部资深技术经理,从事数 ...
- MYSQL 5.7 主从复制 -----GTID说明与限制 原创
http://www.cnblogs.com/cenalulu/p/4309009.html http://txcdb.org/2016/03/%E7%B3%BB%E7%BB%9F%E8%A1%A8- ...
- MySQL 5.6 复制:GTID 的优点和限制(第一部分)
全局事务标示符(Global Transactions Identifier)是MySQL 5.6复制的一个新特性.它为维护特定的复制拓扑结构下服务器的DBA们大幅度改善他们的工作状况提供了多种可能性 ...
- 阿里云ECS服务器上搭建keepalived+mha+mysql5.6+gtid+一主两从+脚本判断架构踩的坑
最近,公司项目搭建了一套后端数据库架构,不是在RDS,是在阿里云的ECS服务器上搭建keepalived.mha.mysql5.6.gtid.一主两从架构,目前还没有实现读写分离,以后架构升级,可能代 ...
- 深入MySQL复制(二):基于GTID复制
相比传统的MySQL复制,gtid复制无论是配置还是维护都要轻松的多.本文对gtid复制稍作介绍. MySQL基于GTID复制官方手册:https://dev.mysql.com/doc/refman ...
- MySQL 5.6 GTID Replication
一. MySQL 5.6引入了GTID的概念,那么GTID是何方神圣?其实也不复杂,就是一个全局事务标示符.使用GTID时,每次事务提交都会在binlog里生成1个唯一的标示符,它由UUID和事务ID ...
- MySQL5.6 GTID Replication
MySQL 5.6 的新特性之一,是加入了全局事务 ID (Global Transaction ID) 来强化数据库的主备一致性,故障恢复,以及容错能力.官方文档:http://dev.mysql. ...
- MySQL 5.6 GTID Replication【转】
一. MySQL 5.6引入了GTID的概念,那么GTID是何方神圣?其实也不复杂,就是一个全局事务标示符.使用GTID时,每次事务提交都会在binlog里生成1个唯一的标示符,它由UUID和事务ID ...
随机推荐
- 关于block的回调使用-防止内存泄露问题
block 一般用于回调,比方请求数据我们把asi封装好,仅仅用block调数据就方便很多 获取到得数据假设要给之加入数据,切记不能够使用self.(这个数组) 或者_(这个数组) addObject ...
- 【CSWS2014 Summer School】大数据下的游戏营销模式革新-邓大付
大数据下的游戏营销模式革新 邓大付博士腾讯专家工程师 Bio:毕业于华中科技大学,现任腾讯IEG运营部数据中心技术副总监,负责腾讯游戏的数据挖掘相关工作,包括有用户画像,推荐系统,基础算法研究等.主要 ...
- strcpy sprintf memcpy 它们之间的区别
strcpy,sprintf,memcpy的区别 strcpy 函数操作的对象是 字符串,完成 从 源字符串 到 目的字符串 的 拷贝 功能. snprintf 函数操作的对象 不限于字符串:虽然目 ...
- Linux一些基本命令一(学习笔记三)
菜鸟记录. 一.更改主机名 hostname 新的主机名 hostname ln0491 将主机名更改为ln0491 登出再登陆,就变为新的主机名 二.新建文件夹和删除 如:在当前路径新建data文件 ...
- win7系统下用vspd软件进行串口编程实例
http://blog.csdn.net/qiusuo800/article/details/8299777 目前,我在学习C#串口编程类的基础知识,在网上也找了一些资料,但都存在一些问题,现在他们基 ...
- 原来Java中有两个ArrayList
首先给出一段代码: public class AslistMethod { public static void main(String[] args) { String sentence = &qu ...
- oracle 插入表数据的4种方式
1.往表中插入一整行数据 /*方法一*/ INSERT INTO 表名 VALUES(val1,val2,val3,...); /*方法二*/ '; 如: ,, FROM DUAL; 注意: 2. ...
- UsageLog4j
迁移时间:2017年5月21日09:42:46CreateTime--2017年1月2日09:35:55Author:Marydon原文链接:http://www.360doc.com/conte ...
- 生成CFree 5.0 注册码
C-Free 5.0真是一个很棒的编程软件,可今天用着用着却让我注册,下面的注册码分享给大家: 方法一.下载CFree 5.0之后,直接输入以下信息进行注册. 用户名:tianfang电子邮件:qua ...
- hosts.allow hosts.deny
简单控制访问ip,hosts.allow/hsots.deny a simple access control language that is based on client (host name ...