千家信息网

mysql中怎么实现主主同步

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,本篇文章为大家展示了mysql中怎么实现主主同步,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。A服务器:host 192.168.1.101port 3306
千家信息网最后更新 2026年11月04日mysql中怎么实现主主同步

本篇文章为大家展示了mysql中怎么实现主主同步,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

A服务器:
host 192.168.1.101
port 3306
B服务器:
host 192.168.1.102
port 3306

1,授权用户:
A服务器
mysql>grant replication slave,file on *.* to identified by '1234569';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
B服务器
mysql>grant replication slave,file on *.* to identified by '1234568';
Query OK, 0 rows affected (0.01 sec)
> flush privileges;
Query OK, 0 rows affected (0.01 sec)

2,配置文件
A服务器
log-bin=mysql-bin
server-id = 1
binlog-do-db=test
binlog-ignore-db=mysql
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=1
master-host = 192.168.1.102
master-user = repl8
master-password = 1234568
master-port = 3306

B服务器

log-bin=mysql-bin
server-id = 2
binlog-do-db=test
binlog-ignore-db=mysql
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
sync_binlog=1
auto_increment_increment=2
auto_increment_offset = 2
master-host = 192.168.1.101
master-user = repl9
master-password = 1234569
master-port = 3306


启动服务器就ok了


--------------------------------------------------
Q: 当在另一台机器上登录MySQL时出现如下错误:

ERROR 2003 (HY000): Can't connect to MySQL server on 'x.x.x.x' (111)

A: 原因是MySQL考虑到安全因素,默认配置只让从本地登录

打开 /etc/mysql/my.cnf 文件,找到 bind-address = 127.0.0.1 修改为 bind-address = 0.0.0.0

重启mysql : sudo /etc/init.d/mysql restart


========================================
101 增加,102不同步 ?????????
mysql -h292.168.1.102 -urepl8 -p1234568 ok

102 增加,101 同步
mysql -h292.168.1.101 -urepl9 -p1234569 ok

比较两组的show slave status\G;
102

Slave_IO_Running: No
Slave_SQL_Running: Yes
Replicate_Do_DB: test
Replicate_Ignore_DB: mysql


sudo /etc/init.d/mysql restart
sudo service mysql restart 以后就变成:lave_IO_Running: YES



出现的问题(多主自增长ID重复)

解决方法:
我们只要保证两台服务器上插入的自增长数据不同就可以了
如:A查奇数ID,B插偶数ID,当然如果服务器多的话,你可以定义算法,只要不同就可以了

在这里我们在A,B上加入参数,以实现奇偶插入

A:my.ini上加入参数

auto_increment_offset = 1
auto_increment_increment = 2
这样A的auto_increment字段产生的数值是:1, 3, 5, 7, …等奇数ID了

B:my.ini上加入参数

auto_increment_offset = 2
auto_increment_increment = 2
这样B的auto_increment字段产生的数值是:2, 4, 6, 8, …等偶数ID了

可以看出,你的auto_increment字段在不同的服务器之间绝对不会重复,所以Master-Master结构就没有任何问题了。当然,你还可以使用3台,4台,或者N台服务器,只要保证auto_increment_increment = N 再设置一下auto_increment_offset为适当的初始值就可以了,那样,我们的MySQL可以同时有几十台主服务器,而不会出现自增长ID重复。

在这里我们说的是2台MYSQL服务器,你也可以扩展到多台,实现方法类似
A -> B -> C-> D ->A
这样一个环形的备份结构就形成了,最后可要记住 自增长ID(主键)要设计好哦,否则会出错的。

上述内容就是mysql中怎么实现主主同步,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

服务器 服务 同步 增长 不同 参数 字段 偶数 内容 奇数 技能 数值 文件 方法 知识 结构 问题 保证 登录 配置 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 哈尔滨大商圈互联网科技有限公司 互联网科技公司官网 致骋互联网科技 世界互联网领先科技成果 迪茉互联网科技 美国互联网黑科技 成都仁贤领冠互联网科技有限公司 广西拼得多互联网科技有限公司 富国互联网科技创新基金 西藏七维空间互联网科技有限公司 重庆威客帮互联网科技 互联网大会黑科技排名 浙江互联网科技研学营 国大互联网教育科技有限公司工作 互联网金融科技名词解释 广东鹅鹅鹅互联网科技有限公司 西安左小互联网科技有限公司 现代互联网科技公司 安徽九吞吴互联网科技有限公司 知域互联网科技有限公司官网 中智农互联网科技 深圳市人人互联网科技有限公司 深圳科技互联网 科技创新互联网企业 居家互联网科技有限公司 互联网金融科技公司干啥的 重庆互联网医院沙龙医盟信息科技 长沙互联网科技 米泉互联网科技专业怎么样 互联网科技创业计划的风险分析
0