MYSQL_架构之主从GTID_多主一从

发布时间:2020-08-11 12:46:40 作者:adamjunior
来源:ITPUB博客 阅读:356

环境信息

\

服务器1

主服务器2

从服务器1

Ip

192.168.31.79

192.168.31.188

192.168.31.90

hostname

mysql

mysql2

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模式。

1.    主服务器1配置

1.1修改参数文件

[root@mysql bin]# vi /etc/my.cnf

gtid_mode=on

enforce_gtid_consistency=on

log_bin=on

binlog_format=row

server-id=79

1.2配置权限

[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;

1.3 备份数据库

[root@mysql ~]# mysqldump --single-transaction -uroot -pOracle123 TEST1 > TEST1_20200310.sql

2.主服务器2配置

2.1 修改参数文件

[root@mysql2 bin]# vi /etc/my.cnf

添加内容如下:

gtid_mode=on

enforce_gtid_consistency=on

log_bin=on

binlog_format=row

server-id=188

2.2配置权限

[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;

2.3 备份数据库

[root@mysql2 ~]# mysqldump --single-transaction -uroot -pOracle123 TEST2 > TEST2_20200310.sql

3.从服务器配置

3.1 修改参数文件

[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

3.2 还原数据库

[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

3.3.配置权限

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';

4.检查

4.1检查进程状态

mysql> use performance_schema;

mysql> select * from replication_connection_status\G;

  MYSQL_架构之主从GTID_多主一从

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) 从服务器

  MYSQL_架构之主从GTID_多主一从

推荐阅读:
  1. Centos7配置mysql主从:一主多从
  2. mysql主从复制--一主一从

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

gtid mysql 主从

上一篇:JSP中的代码加载顺序

下一篇:再看ibatis Order By注入问题

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》