利用xtrabackup创建mysql slave

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用xtrabackup创建mysql slave相关的知识,希望对你有一定的参考价值。

xtrabackup在备份的时候同时读取redolog和bin-log position,最后将redolog应用到数据库文件中,所以能够实现热备不停机、不锁表将master的数据同步到slave

前提:安装好xtrabackup,mysql 开启binlog

步骤1:创建一个备份并prepare


TheMaster$ innobackupex --defaults-file=/opt/mysql/my.cnf   --user=root--password=password   /path/to/backupdir

备份完成后,在指定目录下会生成以日期命名的文件夹

然后进行prepare ,所谓的prepare就是将redolog应用到数据库文件中

TheMaster$innobackupex --defaults-file=/opt/mysql/my.cnf  --user=root --password=password

          --apply-log /path/to/backupdir/$TIMESTAMP/

 

步骤2:把备份复制到TheSlave


使用scp或者其他工具来传输备份文件

TheMaster$scp -rpvC -i6000 /backup/xtrmysql/2016-09-11_11-52-21/   10.0.0.1:/backup/mysql_bak/

把备份复制到mysql配置的datadir下

TheSlave$ mv /backup/mysql_bak/2016-09-11_11-52-21/   /opt/mysql/data

 

步骤3:启动从数据库上的复制线程


先查看xtrabackup_binlog_info来确定binarylog的位置

TheSlave$  less /backup/mysql_bak/2016-09-11_11-52-21/xtrabackup_binlog_info

mysql-bin.000531       327075954

在slave上开启主从复制

TheSlave|mysql>CHANGE MASTER TO

               MASTER_HOST=‘$masterip‘,

               MASTER_USER=‘replication‘,

               MASTER_PASSWORD=‘password‘,

               MASTER_LOG_FILE=‘mysql-bin.000531‘,

               MASTER_LOG_POS=327075954;

然后启动slave

mysql> START SLAVE;

xtrabackup也支持开启了gtid的备份,详细信息可以参考官网说明


以上是关于利用xtrabackup创建mysql slave的主要内容,如果未能解决你的问题,请参考以下文章

利用XtraBackup和MySQL主从复制来转移Zabbix数据库

xtrabackup备份方式搭建一个mysql slave

xtrabackup备份方式搭建mysql slave

使用xtrabackup工具进行主从同步(不锁表)

xtrabackup在线备份主库,搭建slave,使用gtid模式

单台设备基于63G的数据量快速完成mysql主从搭建