mysql在线搭建从库_利用innobackupex 进行MySQL从库搭建

知识准备:

1、在备份InnoDB的过程中,记录的变更保存于xtrabackup_logfile文件,所以在prepare(–apply-log)的时候,需要重放该部分数据到表空间。

2、如果库中只使用了innodb或者XtraDB引擎,恢复的时候使用xtrabackup_binlog_pos_innodb文件确定pos信息;

3、如果还有其他引擎(如MyISAM),恢复的时候使用xtrabackup_binlog_info确定pos信息;

4、innobackupex的过程图示

8234a484609f64d761644b96d33cad03.png

将xtrabackup_logfile中的日志进行重做

6393fddcb3f61e5f19383660e8e14d48.png

1、在主库上进行全备,然后进行prepare

backup:

innobackupex --defaults-file=/app/mysql/my.cnf --user=root --password=myroot321 \

--use-memory=1024M --no-timestamp --backup /data/backup/full

prepare:

innobackupex --apply-log /data/backup/full

2、将备份进行压缩,拷贝到从库

tar -czvf mysql_full_backup.tar.gz /data/backup/full

scp mysql_full_backup.tar.gz xxx@xxx:/path/

3、在主库上创建复制用户

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'$slaveip' IDENTIFIED BY '$slavepass';

SHOW GRANTS;

4、配置从库,修改my.cnf 文件

server-id=2

5、启动slave

cat /bakcup/xtrabackup_binlog_info

mysql-bin.000001 421 62f821d2-7453-11e4-bebb-fa163e43bfe5:1

1、使用master_log_file 和 master_log_pos 进行change

CHANGE MASTER TO

MASTER_HOST='$masterip',

MASTER_USER='repl',

MASTER_PASSWORD='$slavepass',

MASTER_LOG_FILE='mysql-bin.000001',

MASTER_LOG_POS=421;

2、也可以使用gtid来进行

slave1 > SET GLOBAL gtid_purged="62f821d2-7453-11e4-bebb-fa163e43bfe5:1";

slave1 > CHANGE MASTER TO

MASTER_HOST="$masterip",

master_user="repl",

master_password="$slavepass",

MASTER_AUTO_POSITION = 1;

6、启动slave,检查slave 状态是否正常

START SLAVE;

-------------

SHOW SLAVE STATUS \G

...

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

...

Seconds_Behind_Master: 13

...

至此:利用innobackupex 进行MySQL 从库搭建已经完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值