mysql5.7双主复制配置

✅ 双主复制配置完整步骤

🧱 1. 修改配置文件(确认无误)

主库A(server-id=1)配置:

[mysqld]
server-id = 1
log-bin = mysql-bin
auto-increment-increment = 2
auto-increment-offset = 1
log-slave-updates = 1
binlog-do-db = test1 # 注意下面会建议不要使用此行,建议删除

主库B(server-id=2)配置:

[mysqld]
server-id = 2
log-bin = mysql-bin
auto-increment-increment = 2
auto-increment-offset = 2
log-slave-updates = 1
binlog-do-db = test1 # 同样建议删除

⚠️ binlog-do-db 的注意事项

建议不要使用 binlog-do-db,因为这只记录默认数据库里的操作,跨库语句可能会被忽略,造成数据不一致。

🔁 如果你想同步多个数据库,请不要用 binlog-do-db,直接记录所有库的操作。


🧼 2. 清空并同步初始数据(初始阶段建议清数据)

确保两台机器的 test1 数据库内容完全一致(或一台为空),可以选择:

  • 从一台导出 mysqldump
  • 导入到另一台
  • 或者在初始化前把两边数据都清空

🔐 3. 创建复制账户(互为主从)

主库A 上:

CREATE USER 'repl'@'%' IDENTIFIED BY 'replpass';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;

主库B 上也做同样操作。


🔗 4. 设置主从连接

在主库A执行以下命令(连接主库B):

CHANGE MASTER TO
MASTER_HOST='主库B的IP',

MASTER_PORT=33161, -- 这里指定了主库的端口,不加这行的默认3306端口
MASTER_USER='repl',
MASTER_PASSWORD='replpass',
MASTER_LOG_FILE='mysql-bin.000001', -- 取自主库B的 SHOW MASTER STATUS
MASTER_LOG_POS= 1234; -- 同样取 SHOW MASTER STATUS 输出

在主库B执行以下命令(连接主库A):

CHANGE MASTER TO
MASTER_HOST='主库A的IP',
MASTER_USER='repl',
MASTER_PASSWORD='replpass',
MASTER_LOG_FILE='mysql-bin.000001', -- 取自主库A的 SHOW MASTER STATUS
MASTER_LOG_POS= 1234;

然后分别在两台机器上运行:

START SLAVE;

检查状态:

SHOW SLAVE STATUS\G

确保 Slave_IO_RunningSlave_SQL_Running 都是 Yes


🔁 自动主键冲突避免说明

你已正确设置:

主机offsetincrement
A12
B22

这样 auto-increment 的 ID 就不会冲突。比如:

  • 主库A生成:1, 3, 5…
  • 主库B生成:2, 4, 6…

❓关于“能不能同步所有库”

是的,只要你 不设置 binlog-do-dbreplicate-do-db,就可以同步所有数据库。

如果你设置了 binlog-do-db = test1,则 只能同步该库,你要同步多个库就要删掉这个配置。


✅ 最终建议配置(两个主机都一样,配置全部数据库)

[mysqld]
server-id = 1 # 或 2
log-bin = mysql-bin
auto-increment-increment = 2
auto-increment-offset = 1 # 或 2
log-slave-updates = 1

不要设置 binlog-do-db,除非你只同步某个库

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
       赣ICP备2025061060号 |       版权所有 © 2025 鸣乐庐    
      网站访问次数:41,737 次
正在获取您的IP和天气信息...