• ADADADADAD

    MYSQL_架构之主从GTID_多主一从[ mysql数据库 ]

    mysql数据库 时间:2024-12-03 12:13:01

    作者:文/会员上传

    简介:

    环境信息\主服务器1主服务器2从服务器1Ip192.168.31.79192.168.31.188192.168.31.90hostnamemysqlmysql2mysql3mysql-version5.7.235.7.235.7.23server-id8e33e4d6-66a2-11e

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    环境信息

    \

    主服务器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;

    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_多主一从.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: gtidmysql主从