MySQL主主复制架构的配置与实现

来源:站长平台作者:陈平安
导读:本期聚焦于小伙伴创作的《MySQL主主复制架构的配置与实现》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《MySQL主主复制架构的配置与实现》有用,将其分享出去将是对创作者最好的鼓励。

MySQL主主复制架构的配置与实现

在MySQL复制架构中,主主复制与主从复制有所不同。主主复制允许两台服务器中的任意一台的数据库发生变更时,都能将变更同步到另一台服务器。这样两台服务器互为主从,均可对外提供读写服务,从而在响应性能上通常优于主从复制结构。

以下为MySQL主主复制的配置步骤,假设两台服务器分别为:

server1: 192.168.1.108

server2: 192.168.1.110

创建复制账号

在server1上执行:

GRANT REPLICATION SLAVE ON *.* TO 'server2'@'192.168.1.110' IDENTIFIED BY 'server2';

在server2上执行:

GRANT REPLICATION SLAVE ON *.* TO 'server1'@'192.168.1.108' IDENTIFIED BY 'server1';

修改MySQL配置文件

在server1的my.cnf中添加以下配置:

[mysqld]
server-id = 10
log-bin = mysql-bin
replicate-do-db = mydb
auto-increment-increment = 2
auto-increment-offset = 1

其中,auto-increment-increment应设为服务器总数,本例为2;auto-increment-offset用于设置自增字段的起始偏移量,server1设为1。

在server2的my.cnf中配置:

[mysqld]
server-id = 20
log-bin = mysql-bin
replicate-do-db = mydb
auto-increment-increment = 2
auto-increment-offset = 2

server2的auto-increment-offset设为2,以避免两台服务器自增ID冲突。修改后重启两边的MySQL服务。

初始化数据同步

为保证两边的初始数据一致,可先在server1上备份指定数据库:

mysqldump --databases mydb > /tmp/mydb.sql

在server2上创建同名数据库后导入数据:

CREATE DATABASE mydb;

将备份文件复制到server2并导入:

mysql -uroot -p mydb < /tmp/mydb.sql

配置复制链路

在server1上设定同步源为server2:

CHANGE MASTER TO
MASTER_HOST='192.168.1.110',
MASTER_USER='server2',
MASTER_PASSWORD='server2';
START SLAVE;

在server2上设定同步源为server1:

CHANGE MASTER TO
MASTER_HOST='192.168.1.108',
MASTER_USER='server1',
MASTER_PASSWORD='server1';
START SLAVE;

验证同步状态

分别在两台服务器上执行SHOW SLAVE STATUSG,查看Slave_IO_Running与Slave_SQL_Running是否为Yes,并检查两边数据是否一致。若一切正常,主主复制架构即配置完成。

MySQL主主复制双主架构数据同步高可用

免责声明:已尽一切努力确保本网站所含信息的准确性。网站部分内容来源于网络或由用户自行发表,内容观点不代表本站立场。本站是个人网站免费分享,内容仅供个人学习、研究或参考使用,如内容中引用了第三方作品,其版权归原作者所有。若内容触犯了您的权益,请联系我们进行处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。前端、网络、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握网站开发与运维所需的核心技术栈。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端逻辑,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。