MySQL5.7 Group Replication (MGR) 集群搭建

MySQL Group Replication(组复制) 1 介绍

MySQL Group Replication(简称MGR)是MySQL官方于2016年12月推出的一个全新的高可用与高扩展的解决方案。MySQL组复制提供了高可用、高扩展、高可靠的MySQL集群服务。

高一致性,基于原生复制及paxos协议的组复制技术,并以插件的方式提供,提供一致数据安全保证;

高容错性,只要不是大多数节点坏掉就可以继续工作,有自动检测机制,当不同节点产生资源争用冲突时,不会出现错误,按照先到者优先原则进行处理,并且内置了自动化脑裂防护机制;

高扩展性,节点的新增和移除都是自动的,新节点加入后,会自动从其他节点上同步状态,直到新节点和其他节点保持一致,如果某节点被移除了,其他节点自动更新组信息,自动维护新的组信息;

高灵活性,有单主模式和多主模式,单主模式下,会自动选主,所有更新操作都在主上进行;多主模式下,所有server都可以同时处理更新操作。

MGR是MySQL数据库未来发展的一个重要方向。

2 环境准备 2.1 数据库服务器规划 序号IP地址主机名数据库数据库端口号数据库Server ID备注
1   192.168.56.181   apollo.mgr.com   mysql-5.7   3306   181   操作系统CentOS7  
2   192.168.56.182   artemis.mgr.com   mysql-5.7   3306   182   操作系统CentOS7  
3   192.168.56.183   uranus.mgr.com   mysql-5.7   3306   183   操作系统CentOS7  
2.2 安装mysql5.7.17

安装mysql请参照 ,在这里就不详细介绍。

MySQL 5.7.17 Group Relication(组复制)搭建手册 

2.3 设置hostname和ip映射

在三台数据库服务器上都设置:

这里写图片描述

[mgradmin@apollo mysql-5.7.17-1.el7.x86_64.rpm-bundle]$ vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.56.181 apollo.mgr.com 192.168.56.182 artemis.mgr.com 192.168.56.183 uranus.mgr.com

3. 创建复制环境

3.1 服务器apollo.mgr.com 3.1.1 配置/etc/my.cnf [mgradmin@apollo mysql-5.7.17-1.el7.x86_64.rpm-bundle]$ sudo vim /etc/my.cnf # For advice on how to change settings please see # [mysqld] # # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid # Group Replication server_id = 181 gtid_mode = ON enforce_gtid_consistency = ON master_info_repository = TABLE relay_log_info_repository = TABLE binlog_checksum = NONE log_slave_updates = ON log_bin = binlog binlog_format= ROW transaction_write_set_extraction = XXHASH64 loose-group_replication_group_name = 'ce9be252-2b71-11e6-b8f4-00212844f856' loose-group_replication_start_on_boot = off loose-group_replication_local_address = 'apollo.mgr.com:33061' loose-group_replication_group_seeds ='apollo.mgr.com:33061,artemis.mgr.com:33062,uranus.mgr.com:33063' loose-group_replication_bootstrap_group = off

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/60c44045b44f7ddebe96b40d47f6081b.html