一觉醒来,一套核心应用4T的MySQL主从挂了,紧急修复中...

来源:这里教程网 时间:2026-03-01 18:29:23 作者:

MySQL 的 Replication 是一个多 MySQL 数据库做主从同步的方案,特点是异步复制,广泛用在各种对 MySQL 有更高性能、更高可靠性要求的场合。

这不刚刚一套核心应用4T的MySQL主从挂了,将修复过程分享给大家…

1.GTID同步原理

GTID复制又叫全局事务 ID(Global transaction ID),是一个已提交事务的编号,并且是一个全局唯一的编号,MySQL5.6 版本之后在主从复制类型上新增了 GTID 复制。

2.实施背景

原环境MySQL 8.0.11版本10.10.0.11和10.10.0.12组成的主备环境,由于主备延迟过久,主备环境已经无法提高高可用服务,现需要重新搭建10.10.0.11为10.10.0.12的备库,达到高可用能力。

3.主库开启了GTID模式

[mysqld]
binlog_format = row
gtid_mode = on
enforce_gtid_consistency = on
必须保证mysqld配置文件中有上述配置,才表示开启gtid

4.主服务器创建复制用户

CREATE USER 'replica'@'%' IDENTIFIED BY 'replica_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%';

5.备份主服务器的数据库

xtrabackup --defaults-file=/etc/my.cnf --user=root --password=mysql --port=3306 --backup --target-dir=/backup/ftp/mysql_backup

6. 从服务器配置my.cnf

[mysqld]
binlog_format = row
gtid_mode = on
enforce_gtid_consistency = on

必须保证mysqld配置文件中有上述配置,才表示开启gtid

7.从库恢复

xtrabackup --host=127.0.0.1 --user=root --password=mysql --port=3306 --prepare --target-dir=/backup/ftp/mysql_backup

xtrabackup --defaults-file=/etc/my.cnf --host=127.0.0.1 --user=root --password=mysql --port=3306 --datadir=/tms/data/mysql --move-back --target-dir=/backup/ftp/mysql_backup

8.从库连主库开始复制

CHANGE MASTER TO 
MASTER_HOST='10.79.0.183', 
MASTER_USER='replica', 
MASTER_PASSWORD='replica_password', 
MASTER_AUTO_POSITION = 1;

9. 启动从服务器slave进程

start slave
show slave status

相关推荐