MySQL利用xtrabackup快速搭建主从
我是本际云服务器推荐网的小编小本本,在这里为大家介绍一款能够快速搭建主从的工具:xtrabackup。在生产环境中,服务器架构为主从,硬件或主机更换时需要重新搭建主从,而xtrabackup能够帮助快速完成搭建。

xtrabackup的闪回原理和适用范围
xtrabackup软件基于InnoDB等事务引擎自带的redo日志和undo日志功能来保持备份和恢复前后数据一致性,并确保数据库的数据安全可靠。在InnoDB引擎中,有一个redo日志功能,每一个InnoDB表中的数据修改记录都会被存储在redo日志文件中。当启动InnoDB数据库时,数据文件和redo日志文件会被检查,已经提交到事务日志中的信息会被应用到数据文件并保存,未提交的数据记录则根据undo日志进行回滚。
使用xtrabackup快速搭建主从
下面是快速搭建主从的步骤:
1. 在主库(IP为192.169.100.50)执行全备并将其拷贝至从库
innobackupex –defaults-file=/etc/my.cnf –slave-info –host=192.168.100.50 –port=3306 –user=root –password=aG?/qR5ivzgK /data/backup/
scp -r backup.zip root@192.168.100.51:/data/
2. 在从库(IP为192.168.100.51)上执行回滚事务和恢复数据
innobackupex –apply-log/mysql/backup/2022-03-06_15-57-26
innobackupex –defaults-file=/etc/my.cnf –copy-back/mysql/backup/2022-03-06_15-57-26
chmod -R 755 /mysql/data/
chown -R mysql:mysql/mysql/data/
3. 启动备库(IP为192.168.100.51)
mysqld_safe –defaults-file=/etc/my.cnf &
4. 查看需要同步到的位置(binlog_pos)中GTID的位置信息
cd /mysql/backup/2022-03-06_15-57-26/
cat xtrabackup_info
5. 在备库上设置需要同步到的位置信息
reset master;
SET @MYSQLDUMP_TEMP_LOG_BIN=@@SESSION.SQL_LOG_BIN;
SET @@SESSION.SQL_LOG_BIN=0;
SET @@GLOBAL.GTID_PURGED=df42a4e0-fe3e-11eb-888f-080027682bac:1-184,e353511e-fe3e-11eb-b909-080027c7bfc6:1-10;
SET @@SESSION.SQL_LOG_BIN=@MYSQLDUMP_TEMP_LOG_BIN;
6. 在备库上同步主库信息
grant replication slave on *.* to repl@% identified by repl@Abc123;
CHANGE MASTER TO MASTER_HOST=192.168.100.50, MASTER_USER=repl, MASTER_PASSWORD=repl@Abc123, MASTER_PORT=3306, MASTER_AUTO_POSITION=1;
start slave;
7. 查看同步状态和数据
show slave statusG
show variables like “%gtid%”;
上述步骤适用于快速恢复或搭建主从或架构整改等场景,比较适合在生产中使用。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6401.html
