利用xtcbackup做mysql的级联复制
从库进行数据的xtcbackup备份
innobackupex --defaults-file=/etc/my.cnf --user=backup --password=Admin123 --stream=tar /backup_dir/tmp/ |gzip >/backup_dir/tmp/mysql02_`hostname`_`date +%Y%m%d%H`.tar.gz
备份完成后,将文件scp到灾备端。
解压缩文件到 /mysql/backup/20230423
回滚未提交的事务及同步已经提交的事务至数据文件使数据文件处于一致性状态
innobackupex --apply-log /mysql/backup/20230423/
如果当前环境下mysql有信息,需要清空datadir目录和binlog日志目录,关闭当前在运行的mysql。
通过innobackupex将备份数据文件拷贝到MySQL datadir目录下
innobackupex --copy-back /mysql/backup/20230423/
命令会自动将20230423中已经整理好的文件,拷贝到mysql的数据目录下
拷贝完成后,显示OK,启动mysql数据库,后清除slave信息:
Stop slave; Reset slave all; Show slave status;
查看备份文件目录/mysql/backup/20230423/下xtrabackup_info文件,根据记录了binlog和pos位置修改为如下参数命令
从库端创建用户完成,需同步的数据库修改同步参数信息: change master to master_host='10.10.10.10',master_user='repluser',master_password="Admin123",master_port=3306,master_log_file="mysql-bin.000464",master_log_pos=687243789;
启动同步,查看状态
start slave;启动同步 show slave status\G;查看同步状态