一、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的更多相关文章

  1. 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 ...

  2. 与MySQL传统复制相比,GTID有哪些独特的复制姿势?

    与MySQL传统复制相比,GTID有哪些独特的复制姿势? http://mp.weixin.qq.com/s/IF1Pld-wGW0q2NiBjMXwfg 陈华军,苏宁云商IT总部资深技术经理,从事数 ...

  3. 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- ...

  4. MySQL 5.6 复制:GTID 的优点和限制(第一部分)

    全局事务标示符(Global Transactions Identifier)是MySQL 5.6复制的一个新特性.它为维护特定的复制拓扑结构下服务器的DBA们大幅度改善他们的工作状况提供了多种可能性 ...

  5. 阿里云ECS服务器上搭建keepalived+mha+mysql5.6+gtid+一主两从+脚本判断架构踩的坑

    最近,公司项目搭建了一套后端数据库架构,不是在RDS,是在阿里云的ECS服务器上搭建keepalived.mha.mysql5.6.gtid.一主两从架构,目前还没有实现读写分离,以后架构升级,可能代 ...

  6. 深入MySQL复制(二):基于GTID复制

    相比传统的MySQL复制,gtid复制无论是配置还是维护都要轻松的多.本文对gtid复制稍作介绍. MySQL基于GTID复制官方手册:https://dev.mysql.com/doc/refman ...

  7. MySQL 5.6 GTID Replication

    一. MySQL 5.6引入了GTID的概念,那么GTID是何方神圣?其实也不复杂,就是一个全局事务标示符.使用GTID时,每次事务提交都会在binlog里生成1个唯一的标示符,它由UUID和事务ID ...

  8. MySQL5.6 GTID Replication

    MySQL 5.6 的新特性之一,是加入了全局事务 ID (Global Transaction ID) 来强化数据库的主备一致性,故障恢复,以及容错能力.官方文档:http://dev.mysql. ...

  9. MySQL 5.6 GTID Replication【转】

    一. MySQL 5.6引入了GTID的概念,那么GTID是何方神圣?其实也不复杂,就是一个全局事务标示符.使用GTID时,每次事务提交都会在binlog里生成1个唯一的标示符,它由UUID和事务ID ...

随机推荐

  1. hdu4848 求到达每一个点总时间最短(sum[d[i]])。

    開始的时候是暴力dfs+剪枝.怎么也不行.后来參考他人思想: 先求出每一个点之间的最短路(这样预处理之后的搜索就能够判重返回了).截肢还是关键:1最优性剪枝(尽量最优:眼下的状态+估计还有的最小时间& ...

  2. The 6 inspectors in XCode

    Name Shortcut Key Description file helper Command + Option + 1 shows you all the file details relate ...

  3. java线程(上)Thread和Runnable的区别

    首先讲一下进程和线程的区别: 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程. 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈 ...

  4. 配置zip版本的Tomcat启动

    1.配置jdk 2.CATALINA_HOME=c:\tomcat CATALINA_BASE=c:\tomcat 3.classpath=%CATALINA_HOME%\common\lib\ser ...

  5. 【DB2】db2常用SQL语句集合

    持续更新中 1.修改日志模式为不记录 alter table table_name  activate not logged initially; 2.清空表 alter table t1 activ ...

  6. Linux系统CentOS6.2版本下安装JDK7详细过程

    Linux系统CentOS6.2版本下安装JDK7详细过程 分类: Linux 2014-08-25 09:17 1933人阅读 评论(0) 收藏 举报 前言:        java 是一种可以撰写 ...

  7. Filezilla开源FTP传输工具

    生于忧患,死于安乐!在进取中思考... 官网:https://filezilla-project.org/ #FileZilla截图 免费.开源的FTP链接工具! 云下载: http://pan.ba ...

  8. MikroTik RB750r2/RB750gr3 操作记录

    1. 客户端的下载 http://www.mikrotik.com/download  下载 winbox 2. Reset重置密码的正确姿势 http://wiki.mikrotik.com/ind ...

  9. cocos2dx跟eclipse交叉编译“make: * No rule to make target `all' Stop”的解决方案

    cocos2dx和eclipse交叉编译“make: *** No rule to make target `all'. Stop”的解决方案 搞cocos2dx在eclipse上的交叉编译. 项目. ...

  10. 富文本处理NSMutableAttributedString

    概述 富文本处理在项目中使用率越来越高.比如像颜色改变突出, 大字号突出处理, 下划线处理, 中划线(删除线)处理等等 详细 代码下载:http://www.demodashi.com/demo/10 ...