MySQL主从复制是提升数据库可用性和负载均衡的常用方案。GTID(全局事务标识符)模式简化了主从复制配置与管理。本文将介绍在Linux环境下基于MySQL 8.4搭建GTID主从复制的完整步骤。
|
主机名 |
物理IP |
操作系统版本 |
MySQL版本 |
|
master |
192.168.186.11 |
Rhel 6.4 |
MySQL 8.4.28 |
|
slave |
192.168.186.12 |
Rhel 6.4 |
MySQL 8.4.28 |
注意 :
• 如果两台服务器都是全新的且没有数据,可以跳过备份与恢复步骤。
• 本文档适用于主库已有数据的情况。
在 /etc/my.cnf 中添加以下配置:
[mysqld] server-id = 1 log_bin binlog_format = ROW gtid_mode = on enforce_gtid_consistency = on log-slave-updates = on
在 /etc/my.cnf 中添加以下配置:
注意事项 :
建议从库开启binlog,方便后续架构扩展。
主从库的 server-id 必须不同。
根据数据量选择备份方式:
xtrabackup --defaults-file=/etc/my.cnf -uroot -pmysql -S /tmp/mysql.sock --slave-info --backup --target-dir=/xtar
mysqldump -uroot -pAbcd321# -S /tmp/mysql.sock --single-transaction -A -R -E --triggers --source-data=2 --flush-logs > full.sql
建议 :大规模数据量推荐使用XtraBackup备份。
#
应用
redo
日志
xtrabackup --prepare --target-dir=/xtar
#
复制备份数据
xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=/xtar
#
修改权限并启动
MySQL
chown -R mysql:mysql /mysql/product/data service mysqld start
service mysqld start reset master; mysql -uroot -pmysql < full.sql
在主库执行以下SQL命令:
CREATE USER 'backup'@'192.168.186.12' IDENTIFIED BY 'mcbackup'; GRANT REPLICATION SLAVE ON *.* TO 'backup'@'192.168.186.12'; FLUSH PRIVILEGES;
根据备份方式选择对应配置:
reset master; set global gtid_purged='63d891e7-b011-11e8-99a2-000c2942b47d:1-11'; change replication source to source_host = '192.168.186.11',source_port = 3306, source_user = 'backup', source_password = 'mcbackup', source_auto_position = 1,get_source_public_key = 1;
注意 : gtid_purged 的值需从XtraBackup生成的 xtrabackup_binlog_info 文件中获取。
reset master; set global.gtid_purged='63d891e7-b011-11e8-99a2-000c2942b47d:1-11; change replication source to source_host = '192.168.186.11',source_port = 3306, source_user = 'backup', source_password = 'mcbackup', source_auto_position = 1,get_source_public_key = 1;
注意 : gtid_purged 的值需从mysqldump备份文件的头部获取。
start replica; show replica status\g; …… Slave_IO_Running: Yes Slave_SQL_Running: Yes ……
检查输出中 Slave_IO_Running 和 Slave_SQL_Running 是否均为 Yes ,确认复制状态正常。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29956245/viewspace-3117202/ ,如需转载,请注明出处,否则将追究法律责任。