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/