xtrbackup克隆从库

使用xtrbackup克隆从库

在日常工作中,我们有时候需要在线添加从库,比如线上有一主一从两个数据库,但是由于业务的需要,一台从库的读取无法满足现在的需求,这样就需要我们新建一台从库 ,克隆slave时,常用参数–slave-info。

–slave-info会将master的binlog文件名和偏移量位置保存到xtrabackup_slave_info文件中

首先我们在其中一台从库中执行如下命令,做一次全备份

innobackupex --defaults-file=/etc/my.cnf --no-timestamp --user=root --password='123456'  --slave-info /backup/

查看xtrabackup_slave_info文件内容,这个内容就是为搭建从库时需要change master to的参数:

tail xtrabackup_slave_info
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000508', MASTER_LOG_POS=367627999

从库关闭数据库实例

mysqladmin -u -p -S  down

清空数据目录

cd /data0/mysql
rm -rf *

数据还原

方法一:

在slave服务器上进行还原

innobackupex --apply-log --redo-only --user=root --password=123456 --defaults-file=/etc/my.cnf /backup/2018-07-20

将还原的文件复制到从库

cp -r  /backup/2018-07-20*  /data0/mysql

方式2

#innobackupex --apply-log --redo-only --user=root --password=123456 --defaults-file=/etc/my.cnf    /backup/2018-07-20

#innobackupex --copy-back --user=root --password=123456  --defaults-file=/etc/my.cnf    /backup/2018-07-20

赋权

chown -R mysql.mysql   /data0/mysql

在主库master上添加对从库的授权:

mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.2' IDENTIFIED BY 'repl'; Query OK, 0 rows affected (0.00 sec)

在新的从库上进行同步:

mysql> change master to master_host='192.168.1.1',master_user='repl',master_password='repl',master_log_file='mysql-bin.000508',master_log_pos=367627999,Master_Port=3306;

启动io线程和sql线程,并观察复制是否正常:

mysql> start slave;

mysql> show slave status\G;

在主库上查看

mysql> select id,user,host,db,command,time,state,info from information_schema.processlist where command <>'sleep' order by time;

xtrbackup克隆从库
http://www.jcwit.com/article/198/
作者
Caelos
发布于
2018年7月20日
许可协议