当前位置: 移动技术网 > IT编程>数据库>Mysql > 使用xtrabackup工具套件不停机搭建mysql主从

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

2018年02月15日  | 移动技术网IT编程  | 我要评论

使用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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网