3306 与 3307 相互数据同步
3308、3309 都要同步3306的数据
3310、3311 都要同步3307的数据
在配置文件上和上一篇的配置原理一样,只是针对两个主机需要新增一个配置节点:log-slave-updates:在作为从库的时候,有写入操作也要更新二进制文件。
下面简单罗列每一个数据库的my.ini的配置文件
[Client] port = 3306 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=C:\Program Files (x86)\MySQL\MySQL Server 8.0_3306 # 设置mysql数据库的数据的存放目录 datadir=C:\Program Files (x86)\MySQL\MySQL Server 8.0_3306\data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 主从复制设置 # 设置服务id,注意改id值在同一个数据库集群中要保持唯一 server-id = 3306 # 写入磁盘策略 该参数的有效值有 0、1、2 # 默认值为1,在实际使用过程中,为了效率,我们一般会在设置为2 innodb_flush_log_at_trx_commit=2 # 开启binlog日志同步功能 # 这个参数直接影响mysql的性能和完整性。 sync_binlog=0 # 在作为从库的时候,有写入操作也要更新二进制文件 log-slave-updates # 二进制日志保留天数 expire_logs_days=180 # binlog日志文件名(可以任意命名) log-bin=mysql-bin # 表示自增长字段每次递增的量,其默认值是1,取值范围是1 .. 65535 auto_increment_increment=2 # 表示自增长字段从那个数开始,他的取值范围是1 .. 65535 auto_increment_offset=1 # 在主主同步配置时,需要将两台服务器的auto_increment_increment增长量都配置为2,而要把auto_increment_offset分别配置为1和2. # 这样才可以避免两台服务器同时做更新时自增长字段的值之间发生冲突。 # 同步的数据库设置方式有两种: # binlog_do_db:设置需要同步的数据库 # binlog-ignore-db:设置不需要同步的数据库 #同步的数据库,除此之外别的不同步(和下面binlog-ignore-db二选一) # binlog_do_db=testdb #不同步数据库,除此之外都同步 binlog-ignore-db = information_schema binlog-ignore-db = mysql binlog-ignore-db = performance_schema binlog-ignore-db = sys [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8
[Client] port = 3307 [mysqld] #设置3307端口 port = 3307 # 设置mysql的安装目录 basedir=C:\Program Files (x86)\MySQL\MySQL Server 8.0_3307 # 设置mysql数据库的数据的存放目录 datadir=C:\Program Files (x86)\MySQL\MySQL Server 8.0_3307\data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 主从复制设置 # 设置服务id,注意改id值在同一个数据库集群中要保持唯一 server-id = 3306 # 写入磁盘策略 该参数的有效值有 0、1、2 # 默认值为1,在实际使用过程中,为了效率,我们一般会在设置为2 innodb_flush_log_at_trx_commit=2 # 开启binlog日志同步功能 # 这个参数直接影响mysql的性能和完整性。 sync_binlog=0 # 表示自增长字段每次递增的量,其默认值是1,取值范围是1 .. 65535 auto_increment_increment=2 # 表示自增长字段从那个数开始,他的取值范围是1 .. 65535 auto_increment_offset=2 # 在主主同步配置时,需要将两台服务器的auto_increment_increment增长量都配置为2,而要把auto_increment_offset分别配置为1和2. # 这样才可以避免两台服务器同时做更新时自增长字段的值之间发生冲突。 # 在作为从库的时候,有写入操作也要更新二进制文件 log-slave-updates # 二进制日志保留天数 expire_logs_days=180 # binlog日志文件名(可以任意命名) log-bin=mysql-bin # 同步的数据库设置方式有两种: # binlog_do_db:设置需要同步的数据库 # binlog-ignore-db:设置不需要同步的数据库 #同步的数据库,除此之外别的不同步(和下面binlog-ignore-db二选一) # binlog_do_db=testdb #不同步数据库,除此之外都同步 binlog-ignore-db = information_schema binlog-ignore-db = mysql binlog-ignore-db = performance_schema binlog-ignore-db = sys [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8
[Client] port = 3308 [mysqld] #设置3308端口 port = 3308 # 该id主要要保持唯一,后面在设置主从同步的时候会用到 server-id = 3308 # 设置mysql的安装目录 basedir=C:\Program Files (x86)\MySQL\MySQL Server 8.0.21_3308 # 设置mysql数据库的数据的存放目录 datadir=C:\Program Files (x86)\MySQL\MySQL Server 8.0.21_3308\data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8
[Client] port = 3309 [mysqld] #设置3309端口 port = 3309 # 该id主要要保持唯一,后面在设置主从同步的时候会用到 server-id = 3309 # 设置mysql的安装目录 basedir=C:\Program Files (x86)\MySQL\MySQL Server 8.0.21_3309 # 设置mysql数据库的数据的存放目录 datadir=C:\Program Files (x86)\MySQL\MySQL Server 8.0.21_3309\data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8
[Client] port = 3308 [mysqld] #设置3310端口 port = 3310 # 该id主要要保持唯一,后面在设置主从同步的时候会用到 server-id = 3310 # 设置mysql的安装目录 basedir=C:\Program Files (x86)\MySQL\MySQL Server 8.0.21_3310 # 设置mysql数据库的数据的存放目录 datadir=C:\Program Files (x86)\MySQL\MySQL Server 8.0.21_3310\data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8
[Client] port = 3311 [mysqld] #设置3311端口 port = 3311 # 该id主要要保持唯一,后面在设置主从同步的时候会用到 server-id = 3308 # 设置mysql的安装目录 basedir=C:\Program Files (x86)\MySQL\MySQL Server 8.0.21_3311 # 设置mysql数据库的数据的存放目录 datadir=C:\Program Files (x86)\MySQL\MySQL Server 8.0.21_3311\data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8
数据库配置验证
数据库双主多重配置验证,主要验证两个主机数据更新是否所有集群中的是所有数据是否都发送对应的改变,如果发送说明配置成功。
1、 在3306中创建一个数据test和一个表user 查看其它的库是否都创建了一个库test和一个表user
2、 在3307中对表user插入一条数据 查看其余所有库对于的表是否也新增了该数据