MySQL主主(双主)数据同步
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,1. 两台mysql都可以读写,互为主备,默认只是用一台(masterA)负责数据的写入,另一台(masterB)备用;2. masterA是masterB的主库,masterB又是masterA的主
千家信息网最后更新 2026年11月03日MySQL主主(双主)数据同步
1. 两台mysql都可以读写,互为主备,默认只是用一台(masterA)负责数据的写入,另一台(masterB)备用;
2. masterA是masterB的主库,masterB又是masterA的主库,他们互为主从;不足之处:
1. masterB可能处于抑制空闲状态(可以用他当从库,负责部分查询);
2. 主库后面提供服务的从库要等masterB先同步完了数据后才能去masterB上去同步数据,肯能会造成一定程度的同步延迟;
搭建环境
系统:CentOS7
数据库版本:5.6.36
masterA地址:192.168.188.2
masterB地址:192.168.188.3
安装目录:/usr/local/mysql/
数据目录:/data/mysql/
A与B机器都安装好了MySQL,数据库与表都提前同步好;
防火墙配置
iptables
添加mysql同学端口(默认3306)
vim /etc/sysconfig/iptables //编辑iptables文件,也可以用iptables命令来添加,不过要保存命令-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT //添加允许3306端口通过service iptables restart //重启iptables服务关闭selinux
vim /etc/selinux/config //编辑SELinux配置文件SELINUX=disabled //修改值为disabled为关闭服务器设置
masterA设置(192.168.188.2)
vim /etc/my.cnf //编辑my.cnf文件server-id=2 //增加server-id为2,一般为自己iplog_bin=test01 //设置log_bin名为test01/etc/init.d/mysqld restart //重启mysql服务mysql -uroot -p123456 //登录mysql,不要照抄,-u后面是账号,-p后面是密码grant replication slave on *.* to 'repl'@'192.168.188.3' identified by '123456'; //创建mysql账号repl,只容许指定ip访问,也可以指定ip范围192.168.188.%,其中%为通配符,表示所有;flush privileges; //刷新授权表信息flush tables with read lock; //锁定数据库表暂时无法写服务;show master status; //查看binlog文件值与pos值stop slave; //关闭同步masterB设置(192.168.188.3)
vim /etc/my.cnfserver-id=3 //增加server-id为3,一般为自己iplog_bin=test02 //设置log_bin名为test02/etc/init.d/mysqld restart //重启mysql服务mysql -uroot -p123456 //登录mysqlgrant replication slave on *.* to 'repl'@'192.168.188.2' identified by '123456'; //创建用户,允许192.168.188.2登录本机器flush privileges; //刷新授权表stop slave; //关闭同步show master status; //查看binlog文件值与pos值change master to master_host='192.168.188.2', master_user='repl', master_password='123456', master_log_file='test01.000001', master_log_pos=664383; //这里注意log_file与pos值都要对应对应A的show master status;值start slave; //开启同步masterA设置
change master to master_host='192.168.188.3', master_user='repl', master_password='123456', master_log_file='test02.000001', master_log_pos=664343; //这里log_file与pos值写的必须是B上show master status;的值start slave; //开启同步unlock tables; //解锁写测试主主
在A的test数据库下建立t1表,B上查询后有t1表,证明B能同步A修改的数据;
在B的test数据库下建立t2表,A上查询,有t2表,证明A能同步到B修改后的数据;
masterA设置
mysql -uroot -p123456 //登录mysqlmysql> use test; //切换到数据库testmysql> show tables; //查看当前数据库的所有表,这里没有一个表Empty set (0.00 sec)mysql> create table t1(`id` int(4),`name` char(40)); //插入一个表t1mysql> show tables; //查看当前数据库的表+----------------+| Tables_in_test |+----------------+| t1 |+----------------+1 row in set (0.00 sec)masterB
mysql -uroot -p123456 //登录mysqluse test; //切换到数据库testmysql> show tables; //查询同步到数据库test下出现了t1表,证明B能同步A的数据;+----------------+| Tables_in_test |+----------------+| t1 |+----------------+1 row in set (0.00 sec)create table t2(`id` int(4),`name` char(40)); //新建一个t2表,如果A能同步到,就证明A能同步到B切换masterA(省略了登录与切换数据库的命令)
mysql> show tables; //查询A的test数据库下所有的表+----------------+| Tables_in_test |+----------------+| t1 || t2 |+----------------+2 rows in set (0.00 sec)
数据
同步
数据库
服务
登录
文件
查询
切换
命令
地址
机器
目录
端口
账号
配置
主从
信息
又是
只是
同学
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技有限公司经营范围
壹账通互联网科技
互联网科技论坛
互联网高科技股票
互联网科技汛
老年人脱离互联网科技的作文
云创客互联网科技公司
顶级互联网科技成果有哪些
茂名市互联网科技产业园
青岛科技大学互联网大赛研究生
新兴科技互联网创新大赛颁奖典礼
华夏恒生互联网科技013171
西安小鹰速贷互联网科技有限公司
卓翼科技产业互联网合作
徐州市互联网科技有限公司
深圳互联网科技的发展
梅州GM互联网络科技有限公司
南京一网一红互联网科技有限公司
互联网科技手机排行榜
上海万顺科技互联网有限公司招聘
精品咖啡豆
天津市摩尔互联网科技
互联网科技小贷
期待互联网科技
成都互联网科技公司
互联网系的金融科技公司
成都铂石互联网科技做什么的
昊天互联网科技有限公司
浙南科技城互联网大厦招聘
唯美互联网科技