环境信息 \ 主服务器1 主服务器2 从服务器1 Ip 192.168.31.79 192.168.31.188 192.168.31.90 hostname Mysql m
环境信息
\ |
主服务器1 |
主服务器2 |
从服务器1 |
Ip |
192.168.31.79 |
192.168.31.188 |
192.168.31.90 |
hostname |
mysql3 | ||
mysql-version |
5.7.23 |
5.7.23 |
5.7.23 |
server-id |
8e33e4d6-66a2-11ea-b90d-080027c1c1ff |
9646d8c8-66a2-11ea-a1e5-080027b0e953 |
e54ee48b-66a2-11ea-8c1a-08002742a5e1 |
相关的数据库 |
TEST1 |
TEST2 |
|
注意事项:
1)主服务器1和主服务器2不能不能有相同的数据库名字,否则会出现数据库覆盖的现象。
2) 主服务器1->slave和主服务器2->slave要拥有不同的复制账号
3) 三台机器之间的数据库参数配置要和GTID复制的一样。保证开启GTID功能。
4) server-id之间不一致。binlog格式为row模式。
[root@mysql bin]# vi /etc/my.cnf
gtid_mode=on
enforce_gtid_consistency=on
log_bin=on
binlog_fORMat=row
server-id=79
[root@mysql bin]# mysql -uroot -p
mysql> create user 'bak1'@'192.168.31.%' identified by 'oracle123';
mysql> grant replication slave on *.* to 'bak1'@'192.168.31.%';
mysql> flush privileges;
[root@mysql ~]# mysqldump --single-transaction -uroot -pOracle123 TEST1 > TEST1_20200310.sql
[root@mysql2 bin]# vi /etc/my.cnf
添加内容如下:
gtid_mode=on
enforce_gtid_consistency=on
log_bin=on
binlog_format=row
server-id=188
[root@mysql2 bin]# mysql -uroot -p
mysql> create user 'bak2'@'192.168.31.%' identified by 'Oracle123';
mysql> grant replication slave on *.* to 'bak2'@'192.168.31.%';
mysql> flush privileges;
[root@mysql2 ~]# mysqldump --single-transaction -uroot -pOracle123 TEST2 > TEST2_20200310.sql
[root@mysql3 bin]# vi /etc/my.cnf
添加内容如下:
gtid_mode=on
enforce_gtid_consistency=on
log_bin=on
binlog_format=row
server-id=90
master_info_repository=table
relay_log_info_repository=table
[root@mysql3 bin]# mysql -uroot -p
mysql> create database TEST1;
mysql> create database TEST2;
mysql> reset master;
[root@mysql3 soft]# mysql -uroot -pOracle123 TEST1 < TEST1_20200310.sql
[root@mysql3 soft]# mysql -uroot -pOracle123 TEST2 < TEST2_20200310.sql
mysql> change master to master_host='192.168.31.79',master_user='bak1', master_passWord='Oracle123',master_auto_position=1 for channel 'm1';
mysql> change master to master_host='192.168.31.188',master_user='bak2', master_password='Oracle123', master_auto_position=2 for channel 'm2';
mysql> start slave for channel 'm1';
mysql> start slave for channel 'm2';
mysql> use performance_schema;
mysql> select * from replication_connection_status\G;
4.2验证
1) 主服务器1
mysql> use TEST1;
mysql> insert into test1 values (1,'jf');
mysql> commit;
2) 主服务器2
mysql> use TEST2;
mysql> insert into test2 values (2,'lpp');
3) 从服务器
--结束END--
本文标题: MYSQL_架构之主从GTID_多主一从
本文链接: https://lsjlt.com/news/48627.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0