欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-07-05 23:16:13
使用xtrabackup工具套件不停机搭建mysql主从 os: centos7.3 arch: x64 mysql:5.7.17 文章假设读者已经完成xtraback...

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