1、配置hosts
172.16.90.39 node3-01 node3-01.novalocal 172.16.90.40 node3-02 node3-02.novalocal 172.16.90.41 node3-03 node3-03.novalocal
2、在每个节点上创建数据库实例
mkdir -p /data/mysql/{data,logs} cd /data/mysql chown -R mysql:mysql * cd /usr/local/mysql/ chown -R mysql:mysql * bin/mysqld --initialize-insecure --basedir=/usr/local/mysql/ --datadir=/data/mysql/data/
3、配置第一个节点:/etc/my.cnf
[mysqld] #Server Configuration basedir=/usr/local/mysql datadir=/data/mysql/data port = 3306 socket = /usr/local/mysql/mysql.sock user=mysql #Replication Framework server_id=1 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=/data/mysql/logs/binlog binlog_format=ROW binlog_row_image=minimal relay-log=/data/mysql/logs/relay-bin #Group Replication transaction_write_set_extraction=XXHASH64 loose-group_replication_group_name="0374cfa3-deae-11e6-b0fe-fa163e2d23ab" loose-group_replication_start_on_boot=off loose-group_replication_local_address= "node3-01:24901" loose-group_replication_group_seeds= "node3-01:24901,node3-02:24901,node3-03:24901" loose-group_replication_bootstrap_group= off loose-group_replication_single_primary_mode=FALSE loose-group_replication_enforce_update_everywhere_checks= TRUE
参数配置中除了如下的参数在各节点不一样外,其他配置都一样:server_id、loose- group_replication_local_address
4、启动第一个节点
/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
5、登录第一个节点
mysql -h127.0.0.1 -P3306 -uroot --skip-password #登录后修改默认密码 SET PASSWORD = PASSWORD('root'); flush privileges;
6、创建group replication所需要的用户
SET SQL_LOG_BIN=0; CREATE USER rpl_user@'%'; GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%' IDENTIFIED BY 'rpl_pass'; FLUSH PRIVILEGES; SET SQL_LOG_BIN=1; CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='rpl_pass' FOR CHANNEL 'group_replication_recovery';
7、安装组复制插件
mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so'; Query OK, 0 rows affected (0.05 sec) mysql> SHOW PLUGINS; +----------------------------+----------+--------------------+ | Name | Status | Type | +----------------------------+----------+--------------------+ | binlog | ACTIVE | STORAGE ENGINE | ... | group_replication | ACTIVE | GROUP REPLICATION | +----------------------------+----------+--------------------+ 45 rows in set (0.02 sec)
8、启动group replication
SET GLOBAL group_replication_bootstrap_group=ON; START GROUP_REPLICATION; SET GLOBAL group_replication_bootstrap_group=OFF; #查看组复制是否启动成功 SELECT * FROM performance_schema.replication_group_members;
9、配置第二个节点(仅列出和s1的不同之处)
server_id=2 loose-group_replication_local_address= "db2:24901"
10、启动第二个节点(实例)
/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
11、登录第二个节点并修改默认密码
mysql -h127.0.0.1 -P3306 -uroot --skip-password SET PASSWORD = PASSWORD('root'); flush privileges;
12、配置group replication需要的用户
SET SQL_LOG_BIN=0; CREATE USER rpl_user@'%'; GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%' IDENTIFIED BY 'rpl_pass'; FLUSH PRIVILEGES; SET SQL_LOG_BIN=1; CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='rpl_pass' FOR CHANNEL 'group_replication_recovery';
13、安装group replication插件
INSTALL PLUGIN group_replication SONAME 'group_replication.so'; Show plugins; +----------------------------+----------+--------------------+ | Name | Status | Type | +----------------------------+----------+--------------------+ | binlog | ACTIVE | STORAGE ENGINE | ... | group_replication | ACTIVE | GROUP REPLICATION | +----------------------------+----------+--------------------+ 45 rows in set (0.02 sec)
14、将s2添加到组中
set global group_replication_allow_local_disjoint_gtids_join=ON; start group_replication; #查看改group replication情况 SELECT * FROM performance_schema.replication_group_members;
15、添加第三个节点
#操作同第二个节点,my.cnf的参数略有不同 #添加完成查看各节点的运行状态 SELECT * FROM performance_schema.replication_group_members;
16、主从模式(single-primary)下的配置
主从(单主)模式的相关配置除了下面两个配置外,其他和多主都相同
loose-group_replication_single_primary_mode=TRUE loose-group_replication_enforce_update_everywhere_checks=FALSE
17、主从下查看primary_member
SELECT VARIABLE_VALUE FROM performance_schema.global_status WHERE VARIABLE_NAME= 'group_replication_primary_member';
18、mysql在java中的连接配置
多主模式:loadbalance jdbc.url=jdbc:mysql:loadbalance://172.16.90.39:3306,172.16.90.40:3306,172.16.90.41:3306/ifaes_test?loadBalanceBlacklistTimeout=5000&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true 主从模式:replication jdbc.url=jdbc:mysql:replication://172.16.90.39:3306,172.16.90.40:3306,172.16.90.41:3306/ifaes_test?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
相关推荐
MySQL Group Replication是一种高可用性和高可扩展性的解决方案,它允许在MySQL集群中实现多主复制,即每个节点都可以读写,并且数据更改会在所有成员之间自动同步。本手册将指导您如何在单机上搭建MySQL 5.7.17的...
MySQL Group Replication 是 Oracle 公司为 MySQL 数据库提供的一项高级复制技术,旨在通过多成员组的架构来提高数据库系统的可用性和性能。这项技术允许数据在多个服务器之间同步,不仅支持读写负载均衡,还能在...
在配置Group Replication之前,你需要在一台主机上安装并运行至少三个MySQL实例,它们将共同组成一个组。每个实例都有自己的配置文件,例如 `/tmp/4406.cnf`,其中包含特定的参数设置。以下是一些关键配置项的解释:...
这个插件旨在提供一种分布式状态机复制机制,具有强大的协调性和自适应性,使得在一个复制组内的多台MySQL服务器能够协同工作,确保数据的一致性和高可用性。 在MySQL Group Replication中,所有服务器都属于同一个...
根据提供的文档内容,本文将详细解析如何安装与配置MySQL 5.7的Single-Primary Group Replication(简称GR,即组复制)。此文档主要聚焦于MySQL 5.7版本下的单主模式组复制的安装与配置流程,适用于分布式环境中需要...
MGR,全称为Group Replication,是MySQL的一种多主复制技术,允许数据在集群中的多个节点间进行实时同步,确保数据的一致性和高可用性。在这个过程中,我们将探讨如何配置和管理MySQL Group Replication集群。 首先...
4. **MySQL Server实例**: 集群由多个MySQL Server实例组成,每个实例都是Group Replication的一部分,它们之间通过网络进行通信并保持数据同步。 InnoDB Cluster的主要优点包括: - **自动故障恢复**: 当集群中的...
5. Group Replication:MySQL 5.7引入了Group Replication,这是一种高可用性和灾难恢复解决方案,允许数据在多个节点间实时同步。 6. InnoDB Cluster:配合Group Replication,MySQL 5.7提供了InnoDB Cluster,...
- **节点**: MGR集群由多个节点组成,每个节点都是一个MySQL实例。 - **通信**: 节点间通过网络通信来交换数据和状态信息。 - **组**: 所有参与MGR的节点形成一个逻辑组,共同维护数据的一致性和完整性。 **2. ...
为了提高MySQL服务的可用性和性能,采用MySQL Group Replication (MGR) 和 MySQL Router 构建高可用集群成为一种常见的解决方案。 本文档旨在详细介绍如何通过MySQL InnoDB Cluster + MySQL Router来实现MySQL的高...
MySQL Group Replication是一种基于InnoDB的多主复制技术,允许在一个组内的多个节点之间进行实时的数据复制。与传统的主从复制不同,Group Replication支持多主模式,每个节点都可以接受写入,并将更改同步到其他...
6. **Group Replication**:MySQL 5.7引入了Group Replication,这是一种高可用性和故障切换解决方案,允许多个MySQL实例之间同步数据,提供了一种分布式的一致性保证。 7. **Dynamic Columns**:此版本引入了动态...
4. **Group Replication**:MySQL Group Replication是一种高级的复制技术,提供了一种强一致性模型,支持多主写入和自动故障检测与恢复。它使用Paxos或Raft一致性算法来保证集群内数据的一致性,并能在节点故障时...
4. 初始化数据库实例,并安装MGR插件,如group_replication.so。 5. 配置每个节点的group_replication_group_name,group_replication_local_address,以及server_id等参数,确保集群内各节点的唯一性。 6. 启动...
MySQL 8 MGR 集群是一种高可用性的数据库解决方案,通过在多个服务器上部署多个 MySQL 实例,实现数据库的高可用性和负载均衡。本文将详细介绍 MySQL 8 MGR 集群的原理、安装、配置和部署。 一、原理 MySQL 8 MGR ...
在Ubuntu 16.04操作系统中,MySQL的Group Replication (GR) 是一种高可用性和数据一致性解决方案,它允许数据库集群中的多个实例共享数据,同时确保数据的一致性。以下是如何在Ubuntu 16.04上安装MySQL 5.7.17并启用...
8. **MySQL安装器**:`mysql-installer-community-5.7.37.0.msi`文件是Windows平台的MySQL安装程序,它简化了MySQL服务器、客户端工具和其他相关组件的安装和配置流程。 9. **高可用性与容灾**:5.7版本提供了更多...
4. 高可用性:引入Group Replication,实现多主复制,提高系统的可用性和容错性。 二、自动安装脚本的工作原理 “MYSQL安装.bat”是一个批处理脚本,通常包含以下步骤: 1. 检查系统环境:确认操作系统兼容性,检查...