在主主复制结构中,两台服务器的任何一台上面的数据库存发生了改变都会同步到另一台服务器上,这样两台服务器互为主从,并且都能向外提供服务。配置的时候需要注意:主键重复,server-id不能重复。
一.新建数据库
Ubuntu16.04,开启两个虚拟机。
配置前,两个mysql分别新建一个数据库,保证的test数据库的数据一致
create database test default character set utf8 default collate utf8_general_ci;
二.修改配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
服务器A(192.168.8.129)配置如下
bind-address = 0.0.0.0
log_bin = /var/log/mysql/mysql-bin.log #开启二进制日志
server-id = 1 #任意自然数n,只要保证两台MySQL主机不重复即可
expire-logs-days = 100
replicate-do-db = test #要同步的数据库,默认所有库
binlog-ignore-db = mysql #忽略mysql库
binlog-ignore-db = information_schema #忽略information_schema库
auto-increment-increment = 2 #步进值,有n台主MySQL就填n
auto-increment-offset = 1 #起始值。第n台主MySQL,此时为第1主MySQL
服务器B(192.168.8.131)配置
bind-address = 0.0.0.0
log_bin = /var/log/mysql/mysql-bin.log
server-id = 2
expire-logs-days = 100
replicate-do-db = test
binlog-ignore-db = mysql