使用xtrabackup不停服务做从库

Posted leoly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用xtrabackup不停服务做从库相关的知识,希望对你有一定的参考价值。

一、安装xtrabackup

1、YUM安装,下载percona源:

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-6/percona-release-0.1-6.noarch.rpm

 

2、开始安装

yum install percona-xtrabackup-24

 

二、备份数据

1、在主库上全量备份数据:

innobackupex --user=dbuser --passwor=‘dbpassword‘ /dir_for_backup

注意password参数,如果密码中有关键字符,需要使用单引号把密码引起来,否则无法登录mysql,无法备份数据。

 

2、在主库上进行全量备份后,需要应用事务到备份文件中才能使备份文件完整可用

Innobackupex --user=dbuser --password=’dbpassword’--apply-log /dir_for_backup /2018-07-12_10-39-56/

 

3、在主库上把备份好的数据文件传输到从库中

scp -r /DIR_FOR_BACKUP /2018-07-12_10-39-56/ [email protected]_server_ip:/slave_server_data_dir

 

4、授权主从复制用户

GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO ‘slaveUser‘@‘10.30.254.9‘ IDENTIFIED BY ‘slaveUser‘;

 

三、从库开启

1、 在从库上修改数据文件名称,拥有者

mv /slave_server_data_dir/2018-07-12_10-39-56/ /slave_server_data_dir/mysqldata

chown -R mysql:mysql /slave_server_data_dir/mysqldata/

 

2、 在从库上启动数据库

配置好my.conf文件,指定datadir目录到/slave_server_data_dir/mysqldata,然后启动数据库。

使用主库的用户名密码登录数据库,修改主从复制的binlog位置:

 

首先查看一下备份数据的binlog位置:

cat  /slave_server_data_dir/mysqldata/xtrabackup_binlog_info

显示备份时的binlog位置信息:

mysql-bin.000215        776228273

 

其次,在从库中设置binlog同步位置:

CHANGE MASTER TO

MASTER_HOST=‘<master_host>‘,

MASTER_USER=‘ slaveUser ‘,

MASTER_PASSWORD=‘ slaveUser ‘,

MASTER_LOG_FILE=‘ mysql-bin.000215‘,

MASTER_LOG_POS=776228273;

 

最后,启动同步并查看同步状态:

start slave;

show slave status;

结果显示两个”YES“表示成功设置从库:

 技术分享图片

四、对从库做从库

需要在从库上开启log_slave_updates=ON才能让从库再做从库

以上是关于使用xtrabackup不停服务做从库的主要内容,如果未能解决你的问题,请参考以下文章

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

redis重做从库时报Connection with master lost错误

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

xtrabackup 在线主从搭建

使用XtraBackup热备份搭建MySQL主从同步

XtraBackup 搭建从库的一般步骤及 XtraBackup 8.0 的注意事项