MySQL利用xtrabackup在线修复或新增从库

如果数据库的数据量很大,表大小有几十个G,利用mysqldump导出备份会消耗非常长的时间,会对数据库产生不稳定风险,这时可以利用xtrabackup工具在线复制主库文件,利用复制出来的主库文件可以修复从库故障或新增从库实例

主库IP:192.168.1.1
从库IP:192.168.1.2

主库和从库服务器都需要安装以下环境
安装必须的依赖环境
yum install libssl.so.6 -y
ln -sf /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.6
ln -sf /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.6

使用rpm包安装需要安装较多的依赖包,如果是在线上的生产系统操作,会对业务产生风险,因此我们使用源码包操作
下载源码包
wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.5/binary/tarball/percona-xtrabackup-2.4.5-Linux-x86_64.tar.gz
tar xvf percona-xtrabackup-2.4.5-Linux-x86_64.tar.gz
mv percona-xtrabackup-2.4.5-Linux-x86_64 /usr/local/xtrabackup

一、以下命令在主库服务器上操作
1.复制主库
/usr/local/xtrabackup/bin/innobackupex --host=127.0.0.1 --user=root --password=123456 --port=3306 --slave-info --no-timestamp /data/backup/
复制的文件会存储在/data/backup/目录下

2.同步复制文件到从库服务器
scp -r /data/backup/ 192.168.1.2:/data/backup/

二、以下命令在从库服务器上操作
1.清空旧的同步信息
mysql -h192.168.1.2 -uroot -p123456
mysql> stop slave;
mysql> reset slave;

2.删掉mysql原来的datadir目录
/etc/init.d/mysql stop
cd /data/mysql
mv data data_bak

3.恢复主库复制的备份
cd /data/backup/
/usr/local/xtrabackup/bin/innobackupex --apply-log ./
/usr/local/xtrabackup/bin/innobackupex --copy-back ./

4.开启mysql服务
chown -R mysql.mysql /data/mysql/data
/etc/init.d/mysql start

5.查看主库复制时的日志点
cat xtrabackup_binlog_info
mysql-bin.000015   59245449

6.创建新的同步信息,从复制时的日志点开始同步
mysql -h192.168.1.2 -uroot -p123456
mysql> change master to master_host=‘192.168.1.1‘,
master_user=‘root‘,
master_password=‘123456‘,
master_log_file=‘mysql-bin.000015‘,
master_log_pos=59245449;

mysql> start slave;

mysql> show slave status\G;

如果看到IO和SQL线程均为YES,说明主从配置成功

原文地址:https://www.cnblogs.com/fjping0606/p/10514988.html

时间: 2024-11-08 21:25:57

MySQL利用xtrabackup在线修复或新增从库的相关文章

MySQL 利用xtrabackup进行增量备份详细过程汇总

Xtrabackup下载.安装以及全量备份请参考:http://blog.itpub.net/26230597/viewspace-1465772/ 1,创建mysql备份用户 mysql -uroot --password="" -e"CREATE USER 'backup'@'192.168.%' IDENTIFIED BY '123456'"; mysql -uroot --password="" -e"GRANT RELOAD,

MySQL利用xtrabackup和binlog 备份根据时间点恢复

#!/bin/bash #定义变量MYSQL_HOST=192.168.56.21MYSQL_USERNAME=rootMYSQL_PORT=3306MYSQL_PASSPWD=oracleMYSQL_SOCK=/data/mysql/3306/tmp/3306.sockMYSQL_CNF=/data/mysql/3306/my3306.cnfMYSQL_DATADIR=`cat ${MYSQL_CNF}|grep datadir|awk -F "=" '{print $2}' `#M

利用Xtrabackup进行mysql数据库的备份

利用Xtrabackup来实现数据库的备份 Xtrabackup是有percona公司开发的一款开源备份工具,它与ibbackup这个备份工具不同的是.ibbackup是一个收费的备份工具,而且在其备份性能上,ibbackup不如Xtrabackup.ibbackup和Xtrabackup都对Innodb存储引擎支持在线物理完全备份和在线物理增量备份,对MyISAM存储引擎来说,只支持温备份而已.更对关于两者的特性比较,请参考http://www.percona.com/software/per

利用XtraBackup做mysql不停机重做主从复制

不停机做mysql主从同步,可以使用mysqldump,但是这个效率比较低,利用XtraBackup来实现这个,效率比较高! 一 xtrabackup安装: yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL rpm -ivh percona-xtrabackup-2.2.12-1.el6.x86_64.rpm 安装libenv: wget ftp://rpmfind.net/linu

利用XtraBackup实现MySQL物理备份恢复

Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具.特点: (1)备份过程快速.可靠: (2)备份过程不会打断正在执行的事务: (3)能够基于压缩等功能节约磁盘空间和流量: (4)自动实现备份检验: (5)还原速度快: Xtrabackup中主要包含两个工具: xtrabackup:是用于热备份innodb, xtradb表中数据的工具,不能备份其他类型的表,也不能备份数据表结构: in

利用XtraBackup给MYSQL热备(基于数据文件)

利用XtraBackup给MYSQL热备(基于数据文件) By JRoBot on 2013 年 11 月 26 日 | Leave a response 利用XtraBackup给MYSQL热备(基于数据文件)利用 XtraBackup 快速配置主从服务器这XtraBackup 个主要包含2个命令 xtrabackup 和 innobackupex 第一个是他的主程序 另外个他自己封装的脚本一般用脚本来完成备份这是工作笔记 比较凌乱 凑合着看吧 获取XtraBackup 获取XtraBacku

mysql innobackupex xtrabackup 大数据量 备份 还原(转)

原文:http://blog.51yip.com/mysql/1650.html 作者:海底苍鹰 大数据量备份与还原,始终是个难点.当MYSQL超10G,用mysqldump来导出就比较慢了.在这里推荐xtrabackup,这个工具比mysqldump要快很多. 一.Xtrabackup介绍 1,Xtrabackup是什么 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品. Xtra

Mysql使用innobackupex在线备份方案(全量+增量)操作记录

在日常的linux运维工作中,对mysql数据库的备份是非常重要的一个环节.关于mysql的备份和恢复,比较传统的是用mysqldump工具.今天这里介绍下另一款mysql备份工具innobackupex,利用它对mysql做全量和增量备份,仅仅依据本人实战操作做一记录,如有误述,敬请指出~ 一.innobackupex的介绍Xtrabackup是由percona开发的一个开源软件,是使用perl语言完成的脚本工具,能够非常快速地备份与恢复mysql数据库,且支持在线热备份(备份时不影响数据读写

利用xtraBackup实现不停master服务做主从同步

MySQL主从同步原理: MySQL主从同步是在MySQL主从复制(Master-Slave Replication)基础上实现的,通过设置在Master MySQL上的binlog(使其处于打开状态),Slave MySQL上通过一个I/O线程从Master MySQL上读取binlog,然后传输到Slave MySQL的中继日志中,然后Slave MySQL的SQL线程从中继日志中读取中继日志,然后应用到Slave MySQL的数据库中.这样实现了主从数据同步功能. XtraBackup备份