Mysql主主从热备份

前言

本文更进一步配置主主从热备份,可以实现数据库分流+备份,本文主要记录结构和配置,细节请看之前一篇文章《Mysql 主从热备份》。

结构

B(主) <=> A(主) -> C(从)

IP

A主服务器IP:192.168.0.41

B主服务器IP:192.168.0.42

C从服务器IP:192.168.0.43

A配置

#主从备份
log-bin=mysql-bin
binlog_format=mixed
server-id=1

read-only=0
binlog-do-db=mydb
binlog-ignore-db=mysql
binlog-ignore-db=test
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
#双主备份
auto-increment-increment=10
auto-increment-offset=1

replicate-do-db=mydb
replicate-ignore-db=mysql
replicate-ignore-db=test
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
replicate-wild-ignore-table=mysql.%
replicate-wild-ignore-table=test.%
replicate-wild-ignore-table=information_schema.%
replicate-wild-ignore-table=performance_schema.%
relay_log=mysql-relay-bin
log-slave-updates=1

B配置

#主从备份
log-bin=mysql-bin
binlog_format=mixed
server-id=2

replicate-do-db=mydb
replicate-ignore-db=mysql
replicate-ignore-db=test
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
replicate-wild-ignore-table=mysql.%
replicate-wild-ignore-table=test.%
replicate-wild-ignore-table=information_schema.%
replicate-wild-ignore-table=performance_schema.%
relay_log=mysql-relay-bin
log-slave-updates=1

read-only=0
binlog-do-db=mydb
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=test
#双主备份
auto-increment-increment=10
auto-increment-offset=2

C配置

#主从备份
#log-bin=mysql-bin
#binlog_format=mixed
server-id=3

replicate-do-db=mydb
replicate-ignore-db=mysql
replicate-ignore-db=test
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
replicate-wild-ignore-table=mysql.%
replicate-wild-ignore-table=test.%
replicate-wild-ignore-table=information_schema.%
replicate-wild-ignore-table=performance_schema.%
relay_log=mysql-relay-bin
log-slave-updates=1

#read-only=0
#binlog-do-db=mydb
#binlog-ignore-db=mysql
#binlog-ignore-db=information_schema
#binlog-ignore-db=performance_schema
#binlog-ignore-db=test
#双主备份
#auto-increment-increment=10
#auto-increment-offset=3

server-id=1 必须保证每个服务器不一样。 这可能和循环同步有关。 防止进入死循环。

log-slave-updates=1 中继日志执行SQL计入自己的binarylog,这样C从服务器才会执行到来自B主服务器的SQL。

auto-increment-increment=10 在双主备份中,解决不同数据库服务器向同一个表的自增主键插入数据导致冲突的问题,10表示每次插入ID差10.

auto-increment-offset=1 表示服务器的序号。 从1开始,不超过auto-increment-increment值,不能重复。


本文链接:https://jeff.xin/post/20.html

--EOF--

Comments

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。