mysql的主主复制模型

本文介绍如何在两台CentOS7服务器上配置MySQL双主复制模型,并通过具体步骤验证其正确性和自动增长ID的偏移量特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

演示mysql的双主复制的模型:

物理机为win7,虚拟机是2台centos7

节点1:192.168.255.2

节点2:192.168.255.3


yum安装mariadb-server5.5



配置节点1:

]# vim /etc/my.cnf

wKiom1dYT6bwzlf4AABqi3ptfsM606.png


配置节点2

]# vim /etc/my.cnf

wKioL1dYULmj_A4lAACHhhBi1yA503.png


分别启动mysql服务:

]# systemctl start mariadb.service


分别在两节点上:设置复制权限的账号:

> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repluser'@'192.168.255.%' IDENTIFIED BY 'replpass';

> FLUSH PRIVILEGES;


注意:在实际工作中,只能授权单个IP,不能是通配符的形式授权;如果有多个ip,就每个ip单独执行一遍授权语句;


然后,设置两个节点都指向对方为主节点;

提前记录好对方的二进制日志文件事务所处的位置;然后就从这个位置开始复制:


节点1:查看并记录二进制日志文件事务所处的位置

wKioL1dYUePBK28sAAAWJnmsvdM967.png

记录位置为499,将在节点2设置时使用;


节点2:查看并记录二进制日志文件事务所处的位置

wKioL1dYUrKCaIzRAAAVaGiFhss174.png

记录位置为509,将在节点1设置时使用;


设置节点1:

> CHANGE MASTER TO MASTER_HOST='192.168.255.3',MASTER_USER='repluser',MASTER_PASSWORD='replpass',MASTER_LOG_FILE='master-bin.000003',MASTER_LOG_POS=509;


设置节点2:

> CHANGE MASTER TO MASTER_HOST='192.168.255.2',MASTER_USER='repluser',MASTER_PASSWORD='replpass',MASTER_LOG_FILE='master-bin.000003',MASTER_LOG_POS=499;


分别在两节点上:设置

> START SLAVE;


此时,在两节点均可查看:

wKiom1dYU9vTDLX5AACti_E5HSU330.png

wKioL1dYVOWgch3oAACqfz3JpNY161.png

显示内容和主从复制基本相同,只不过都是互为双主的模型;


此时,双主模型配置完成,双方都可以通过对方复制了;


验证双主:

例如在节点1,创建一个新库:

> CREATE DATABASE mydb;

并查看节点1的状态:

wKiom1dYVhHjEA5gAACv04w4Mw8149.png


在节点2:

查看状态:

wKiom1dYVq3AN-_tAACpO2DgCsE275.png

查看同步到的新库:

wKioL1dYWAHTE23fAAArFLBL5DQ790.png

此时,已经验证了节点1写操作后,节点2同步节点1后完成数据备份;


再验证节点2发生写操作后,节点1同步节点2后完成数备份;

在节点2:

在新库中创建表:

> use mydb

> CREATE TABLE tb1 (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,name CHAR(30));

wKiom1dYWKrAhGiGAAAcobYn8TU126.png


查看节点2状态:

wKioL1dYWjzTQYMnAAAWN7ziynI710.png


到节点1上查看同步后的结果:

wKioL1dYWrjRALKgAACbrWPghRg939.png


查看同步到的表:

wKiom1dYWk7Cywf5AABMssuS_R4421.png


继续验证自动增长偏移量:

继续在节点1:给字段插入新值

> INSERT INTO tb1 (name) VALUES ('Kobe Byrant'),('Michael Jordan'),('Yao Ming');

wKioL1dYXJmy8dStAAActmBY8gA472.png


在节点2:

也给字段插入新值,验证自动增长偏移量不会出现重复的id

> INSERT INTO tb1 (name) VALUES ('Zhu Uuanzhang'),('Zhu Di'),('Zhu Yue');

wKiom1dYXA7BZlNCAAAZIJGFfCY509.png

可验证,自动增长偏移量实现当两边分别插入新值后,id不会重复;


以上就是mysql主主复制模型的配置实现完成。










本文转自 crystaleone 51CTO博客,原文链接:http://blog.51cto.com/linsj/1787600,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值