使用xtrabackup工具套件不停机搭建mysql主从

os: centos7.3
arch: x64
mysql:5.7.17

文章假设读者已经完成xtrabackup和mysql主从的部署安装

在mysql的主服务器上备份数据

#innobackupex --defaults-file=/etc/my.cnf --user=root --password=* /data/**/backup/
  • defaults-file 配置文件的地址
  • user 用户名
  • password 密码
  • /data/**/backup/ 备份存放目录

打包拷贝至从服务器恢复

先应用日志
#innobackupex  --defaults-file=/etc/my.cnf --apply-log --user=root  --no-lock /data/tsddb/2017-08-15_11-07-39/
再恢复数据
#innobackupex  --defaults-file=/etc/my.cnf --copy-back  --user=root  --no-lock /data/tsddb/2017-08-15_11-07-39/
  • defaults-file 配置文件的地址
  • user 用户名

修改权限

很重要,不然数据库报错,启动不起来

#chown -R mysql.mysql /data/mysql
  • /data/mysql 数据存放目录

启动数据库

# systemctl start mysqld.service

查看备份中的gtid信息

# cat 2017-08-15_11-07-39/xtrabackup_binlog_info 
mysql-bin.000185        222755272       0767ae2d-51ec-11e7-bc79-1402ec821274:1-56929,
873ab346-1478-11e7-ae5c-1402ec824308:1-175269857,
cb977487-1442-11e7-92da-1402ec822b04:1:174394982-174429754

配置主从

主服务器创建同步用户

grant replication slave on *.* to rsync@"%" identified by '****';

在从服务器上执行

#mysql -uroot -p
>reset master;
>set global gtid_purged='0767ae2d-51ec-11e7-bc79-1402ec821274:1-56929,873ab346-1478-11e7-ae5c-1402ec824308:1-175269857,cb977487-1442-11e7-92da-1402ec822b04:1:174394982-174429754'; 
>CHANGE MASTER TO MASTER_HOST='10.200.20.31', MASTER_USER='rsync', MASTER_PASSWORD='*', MASTER_PORT=3306, MASTER_AUTO_POSITION=1;
>start slave;
>show slave status\G
  • reset master 如果不情况binlog日志,重新生成gtid,直接执行set global gtid_purged会报错。
  • set global gtid_purged 这个选项很重要,很重要,很重要,重要说三遍,而且有个地方要特别注意,有时候在linux shell里面查看xtrabackup_binlog_info文件后看到的gtid的信息会被换行,切记要像上文代码一下三个都写上,中间用逗号隔开,不然一直提示主键冲突出错,楼主刚开始没注意,折腾了好一会。
CHANGE MASTER TO 
MASTER_HOST='10.200.20.31', 
MASTER_USER='rsync', 
MASTER_PASSWORD='*', 
MASTER_PORT=3306, 
MASTER_AUTO_POSITION=1;

# 依次是主机ip,同步用户名,密码,端口,自动找点同步选项设置为1。

end

附录

xtrabackup install doc

mysql install doc

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值