Percona XtraBackup不锁库搭建slave数据库-基于GTID
Percona XtraBackup不锁库搭建slave数据库-基于GTID
1、下载安装epel源并安装
wget http://ftp.cuhk.edu.hk/pub/linux/fedora-epel//6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
yum clean all
2、下载并安装XtraBackup
tar xf Percona-XtraBackup-2.2.7-r5050-el6-x86_64-bundle.tar
yum install percona-xtrabackup-* -y
[root@ip ~]# which xtrabackup
/usr/bin/xtrabackup
现在xtrabackup已经安装完成,
3、在主库上创建复制账号
mysql>grant replication slave on *.* to 'name'@'IP' identified by 'password';
4、接下来就使用xtrabackup做数据库全备
mkdir /data/backup -p
innobackupex --user=root --password='password' --defaults-file=/etc/my.cnf /data/backup/ > /root/back.log 2>&1
注:将执行过程重定向到back.log文件中,待执行完成后可查看是否有报错,如果没有报错并在文件最后结尾处有如下提示测表示备份成功。
141225 08:18:41 innobackupex: Connection to database server closed
141225 08:18:41 innobackupex: completed OK!
备份好的文件保存在 /data/backup目录中,比如:
[root@ip ~]# ls /data/backup/
2014-12-25_08-17-23
[root@ip ~]# ls /data/backup/2014-12-25_08-17-23/
backup-my.cnf ibdata2 ib_logfile1 mysql performance_schema xtrabackup_binlog_pos_innodb xtrabackup_info
ibdata1 ib_logfile0 lost+found oneplus_account xtrabackup_binlog_info xtrabackup_checkpoints xtrabackup_logfile
[root@ip ~]#
备份日志:
刚刚备份好的数据文件,并不是直接可用的。现在要将其恢复:
innobackupex --apply-log /data/backup/2014-12-25_08-17-23/ > /root/bb.log 2>&1
这个过程与数据库挂掉之后重启mysqld时的自动修复过程差不多。
scp -r /data/backup/2014-12-25_08-17-23 root@xxxxxx:/data/backup/
关闭从服务器并切换数据:
/etc/init.d/mysql stop
将原来的数据做一下备份
mkdir -p /data/backup/mysql_old
mv /var/lib/mysql/* /data/backup/mysql_old
mv /data/backup/2014-12-25_08-17-23/* /var/lib/mysql/
chown -R mysql.mysql /var/lib/mysql
修改my.cnf, 给它一个独一无二的server_id。
再将从库原来的my.cnf备份
cp /etc/my.cnf /etc/my.cnf.bak
cd /var/lib/mysql/
/bin/cp backup-my.cnf /etc/my.cnf
再将原来my.cnf.bak中的一些参数添加到my.cnf中并启动mysql
/etc/init.d/mysql start
最后change master。
与mysqldump备份的步骤比起来,这次我们没有flush tables with read lock,
也没有show master status来获取日志文件名和座标。
因为xtrabackup完成备份之后,自动保存了这些信息。
采用GTID建立主从关系
可查看在主库上备份时执行过程25.log.查看到UUID和tran_id
[root@ip ~]# cat /var/lib/mysql/xtrabackup_binlog_info
50937877-8987-11e4-88fe-005056a30e51:1-7605
这个时候,登录到服务器,执行如下操作:
reset master;
清楚binlog和tran_id信息.
之所以这样做,是因为原来的mysql实例有自己相应的"uuid+tran_id",如果不清除,就不能完成下面这一步.
同时这里运行reset master.并不会清除其他mysql实例的信息,他只会清除他自身的GTID信息!
SET GLOBAL gtid_purged="50937877-8987-11e4-88fe-005056a30e51:1-7605";
GTID从7606开始传输
最后,开始同步
CHANGE MASTER TO
MASTER_HOST='<master_host>',
MASTER_USER='<slave_username>',
MASTER_PASSWORD='<slave_password>',
MASTER_AUTO_POSITION = 1;
start slave;
通过show slave status\G;可以查看到 Slave_IO_Running和 Slave_SQL_Running状态都为YES,并且Exec_Master_Log_Pos和 Relay_Log_Space数据不断在变化。
至此通过XtraBackup不锁库搭建slave数据库已经完成。
注意:
1.采取这种方式进行mysql数据库主从建立,在传输同步文件的时间上有要求,尽量快速完成,防止gtid 事务号过期
Percona XtraBackup不锁库搭建slave数据库-基于GTID的更多相关文章
- Percona备份mysql全库及指定数据库(完整备份与增量备份)
Percona Xtrabackup备份mysql全库及指定数据库(完整备份与增量备份) Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对I ...
- 5.7 并行复制配置 基于GTID 搭建中从 基于GTID的备份与恢复,同步中断处理
5.7 并行复制配置 基于GTID 搭建中从 基于GTID的备份与恢复,同步中断处理 这个文章包含三个部分 1:gtid的多线程复制2:同步中断处理3:GTID的备份与恢复 下面文字相关的东西 大部分 ...
- xtrabackup在线备份主库,搭建slave,使用gtid模式
mysql:5.6.29xtrabackup:2.2.10master:192.168.166.129slave:192.168.166.131mysql数据目录:/data/mysqlmysql备份 ...
- Percona Xtrabackup备份mysql全库及指定数据库(完整备份与增量备份)
原文地址:http://www.tuicool.com/articles/RZRnq2 Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对In ...
- Percona Xtrabackup备份mysql大数据库(完整备份与增量备份)
Percona Xtrabackup备份mysql大数据库(完整备份与增量备份) 文章目录 [隐藏] Xtrabackup简介 Xtrabackup安装 Xtrabackup工具介绍 inno ...
- 每天进步一点点——mysql——Percona XtraBackup(innobackupex)
一. 简单介绍 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非堵塞地备份(对于MyISAM的备份相同须要加表锁).Xt ...
- Percona Xtrabackup备份mysql(转)
add by zhj:另外,参考了Xtrabackup之innobackupex备份恢复详解,我用的是Xtrabackup2.2.6版本, 可以成功备份和恢复指定的数据库. 原文:http://www ...
- 使用Percona Xtrabackup创建MySQL slave库
一.使用Percona Xtrabackup创建MySQL slave库 MySQL Server 版本: Server version: 5.7.10-log MySQL Community Ser ...
- 通过 XtraBackup 实现不停机不锁表搭建主从同步
简介 Xtrabackup是由 Percona 开发的一个开源软件,可实现对 InnoDB 的数据备份,支持在线热备份(备份时不影响数据读写).备份时,Xtrabackup 会将 Master 的 b ...
随机推荐
- 计算机二级C语言选择题错题知识点记录。
计算机二级C语言选择题错题知识点记录. 1,在数据流图中,用标有名字的箭头表示数据流.在程序流程图中,用标有名字的箭头表示控制流. 2,结构化程序设计的基本原则:自顶向下,逐步求精,模块化,限制使用g ...
- C/C++程序从文本文件中读取(保存)数据
:本文仅供初学者参阅,解惑 在C程序中: 与程序代码外的数据(文件)打交道,我们使用到流(stream)这个概念,实现进程的虚拟内存与文件之间的数据交换. ——文件流:C标准库提供了FILE(之所以命 ...
- 运行时Runtime的API
const char * class_getName(Class cls); 返回类的名称. Class class_getSuperclass(Class cls); 返回类的超类. Class c ...
- vultr安装kali
前言 很多国内的主机不支持自定义安装系统,且也不方便下载国外资料:),所以需要使用vultr安装kali. 1.上传镜像 镜像地址填这个(我当时的最新版本) https://cdimage.kali. ...
- HDU 3081 Marriage Match II (二分+网络流+并查集)
注意 这题需要注意的有几点. 首先板子要快,尽量使用带当前弧优化的dinic,这样跑起来不会超时. 使用弧优化的时候,如果源点设置成0,记得将cur数组从0开始更新,因为有的板子并不是. 其次这题是多 ...
- 为什么ISR4K、ASR1K等设备的QoS ACL没有显示计数?
思科的ISR4K和ASR1K设备都是IOS XE的架构,它们和传统的IOS架构是不一样的. 以ISR4K为例,和一般的IOS(例如ISR G2)有所区别,他的转发更依赖硬件完成,针对NAT或QoS应用 ...
- C语言-断言
1 作用: 断言常做语言处理的高级形式,自动处理软件隐藏很深其且它手段不易发现的错误,快速进行异常定位.同时这也是软件单元测试必须的技术. 2 使用范围: 2.1放在函数入口对入口参数进行合法性检查( ...
- 虚拟机下修改ip配置
// centos ip 配置vim /etc/sysconfig/network-scripts/ifcfg-eth0 // 虚拟机下删除里面的内容vim /etc/udev/rules.d/70- ...
- JavaScript - Compiling Vs Transpiling
参考 https://blog.csdn.net/napolunyishi/article/details/20473799 https://www.stevefenton.co.uk/2012/11 ...
- PAT A1151 LCA in Binary Tree
利用树的前序和中序递归判定最小公共祖先~ 直接根据两个序列递归处理~ #include<bits/stdc++.h> using namespace std; ; int N,M; int ...