`
hbxflihua
  • 浏览: 678484 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

MySQL Group Replication 单机多实例安装配置

 
阅读更多

1、 创建三个数据库实例

 

mkdir /data/mysql/sock
mkdir –p /data/mysql/data/{s1,s2,s3}
mkdir /data/mysql/cnf
mkdir –p /data/mysql/logs/{s1,s2,s3}
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/s1
bin/mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/data/mysql/data/s2
bin/mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/data/mysql/data/s3

 

 

2、 配置第一个节点

 

[mysqld]
#Server Configuration
basedir=/usr/local/mysql
datadir=/data/mysql/data/s1
port = 24801
socket = /data/mysql/sock/s1.sock

#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/s1/binlog
binlog_format=ROW 
relay-log=/data/mysql/logs/s1/relay-bin

#Group Replication
transaction_write_set_extraction=XXHASH64
loose- group_replication_group_name="b4668cea-d7ca-11e6-86b5-18a99b76310d"       
loose- group_replication_start_on_boot=off
loose- group_replication_local_address= "127.0.0.1:24901"
loose- group_replication_group_seeds= "127.0.0.1:24901,127.0.0.1:24902,127.0.0.1:24903"
loose- group_replication_bootstrap_group= off
loose- group_replication_single_primary_mode=FALSE
loose- group_replication_enforce_update_everywhere_checks= TRUE

 参数配置中除了如下参数在各节点不一样外,其他配置都一样:datadir、port、socket、server_id、log_bin、relay-log、loose- group_replication_local_address

 

 

3、启动第一个节点

 

cd /usr/local/mysql/
sudo chown -R mysql:mysql *
ln -s /usr/local/mysql/bin/mysql /usr/bin
/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/cnf/s1.cnf

 

 

4、登录第一个节点

 

mysql -h127.0.0.1 -P24801 -uroot --skip-password
#登录后修改默认密码
SET PASSWORD = PASSWORD('root');
flush privileges;

 

 

5、创建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';

 

 

6、开启组复制

 

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)

 

7、启动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;

 

 

8、配置第二个节点(仅列出和s1的不同之处)

 

datadir=/data/mysql/data/s2
port = 24802
socket = /data/mysql/sock/s2.sock
server_id=2
log_bin=/data/mysql/logs/s2/binlog
relay-log=/data/mysql/logs/s2/relay-bin
loose-group_replication_local_address= "127.0.0.1:24902"

 

 

9、启动第二个节点(实例)

 

/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/cnf/s2.cnf

 

 

10、登录第二个节点并修改默认密码

 

mysql -h127.0.0.1 -P24802 -uroot --skip-password
SET PASSWORD = PASSWORD('root');
flush privileges;

 

 

11、配置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';

 

 

12、安装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)

 

 

13、将s2添加到组中

 

set global group_replication_allow_local_disjoint_gtids_join=ON;
start group_replication;
#查看改group replication情况
SELECT * FROM performance_schema.replication_group_members;

 

 

 

14、添加第三个节点

 

操作同第二个节点,s3.cnf的参数略有不同
#添加完成查看各节点的运行状态
SELECT * FROM performance_schema.replication_group_members;

 

 

 

 

参考资料:

卸载mysql:http://www.cnblogs.com/kerrycode/p/4364465.html

MySQL Group Replication: http://mysqlhighavailability.com/mysqlha/gr/doc/getting_started.html

  • 大小: 7.6 KB
  • 大小: 9.9 KB
  • 大小: 12.1 KB
分享到:
评论

相关推荐

    MySQL Group Replication环境搭建实战手册

    本手册将指导您如何在单机上搭建MySQL 5.7.17的Group Replication环境。 首先,确保您具备使用二进制发行版安装MySQL的经验,因为这个过程涉及到多个实例的安装。基础环境是CentOS 6.x 64位操作系统,您需要下载...

    Session_7_MySQL_Group_Replication_for_High_Availability

    MySQL Group Replication 是 Oracle 公司为 MySQL 数据库提供的一项高级复制技术,旨在通过多成员组的架构来提高数据库系统的可用性和性能。这项技术允许数据在多个服务器之间同步,不仅支持读写负载均衡,还能在...

    MySQL-group-replication 配置步骤(推荐)

    在配置Group Replication之前,你需要在一台主机上安装并运行至少三个MySQL实例,它们将共同组成一个组。每个实例都有自己的配置文件,例如 `/tmp/4406.cnf`,其中包含特定的参数设置。以下是一些关键配置项的解释:...

    MySQL 组复制研究pdf

    配置MySQL Group Replication相对简单,特别是与传统的异步GTID(Global Transaction Identifier)设置相比。它还提供了内置的成员资格服务,能实时更新和维护组内的服务器视图,允许服务器随时加入或离开组,而不会...

    mysql集群安装-MGR组复制

    MGR,全称为Group Replication,是MySQL的一种多主复制技术,允许数据在集群中的多个节点间进行实时同步,确保数据的一致性和高可用性。在这个过程中,我们将探讨如何配置和管理MySQL Group Replication集群。 首先...

    MySQL 5.7 single-primary单主GR安装手册

    根据提供的文档内容,本文将详细解析如何安装与配置MySQL 5.7的Single-Primary Group Replication(简称GR,即组复制)。此文档主要聚焦于MySQL 5.7版本下的单主模式组复制的安装与配置流程,适用于分布式环境中需要...

    mysql_pn_ha_innodb_cluster.pdf

    4. **MySQL Server实例**: 集群由多个MySQL Server实例组成,每个实例都是Group Replication的一部分,它们之间通过网络进行通信并保持数据同步。 InnoDB Cluster的主要优点包括: - **自动故障恢复**: 当集群中的...

    mysql-5.7.17.msi安装版

    5. Group Replication:MySQL 5.7引入了Group Replication,这是一种高可用性和灾难恢复解决方案,允许数据在多个节点间实时同步。 6. InnoDB Cluster:配合Group Replication,MySQL 5.7提供了InnoDB Cluster,...

    MYSQL高可用-MGR+MysqlRouter安装文档-20200416.docx

    为了提高MySQL服务的可用性和性能,采用MySQL Group Replication (MGR) 和 MySQL Router 构建高可用集群成为一种常见的解决方案。 本文档旨在详细介绍如何通过MySQL InnoDB Cluster + MySQL Router来实现MySQL的高...

    mysql高可用集群MGR组复制集群介绍及搭建说明

    - **节点**: MGR集群由多个节点组成,每个节点都是一个MySQL实例。 - **通信**: 节点间通过网络通信来交换数据和状态信息。 - **组**: 所有参与MGR的节点形成一个逻辑组,共同维护数据的一致性和完整性。 **2. ...

    MySQL MGR组复制技术集群高可用实战视频教程

    MySQL Group Replication是一种基于InnoDB的多主复制技术,允许在一个组内的多个节点之间进行实时的数据复制。与传统的主从复制不同,Group Replication支持多主模式,每个节点都可以接受写入,并将更改同步到其他...

    mysql-installer-community-5.7.17.0.msi

    6. **Group Replication**:MySQL 5.7引入了Group Replication,这是一种高可用性和故障切换解决方案,允许多个MySQL实例之间同步数据,提供了一种分布式的一致性保证。 7. **Dynamic Columns**:此版本引入了动态...

    mysql8-0-19版本脚本自动安装

    4. 高可用性:引入Group Replication,实现多主复制,提高系统的可用性和容错性。 二、自动安装脚本的工作原理 “MYSQL安装.bat”是一个批处理脚本,通常包含以下步骤: 1. 检查系统环境:确认操作系统兼容性,检查...

    如何在Ubuntu 16.04下使用MySql的GR

    在Ubuntu 16.04操作系统中,MySQL的Group Replication (GR) 是一种高可用性和数据一致性解决方案,它允许数据库集群中的多个实例共享数据,同时确保数据的一致性。以下是如何在Ubuntu 16.04上安装MySQL 5.7.17并启用...

    高可用MySQL

    4. **Group Replication**:MySQL Group Replication是一种高级的复制技术,提供了一种强一致性模型,支持多主写入和自动故障检测与恢复。它使用Paxos或Raft一致性算法来保证集群内数据的一致性,并能在节点故障时...

    mysql 8 MGR集群

    MySQL 8 MGR 集群是一种高可用性的数据库解决方案,通过在多个服务器上部署多个 MySQL 实例,实现数据库的高可用性和负载均衡。本文将详细介绍 MySQL 8 MGR 集群的原理、安装、配置和部署。 一、原理 MySQL 8 MGR ...

    MySQL高可用建议方案-20200402-V1.3.docx

    MySQL Group Replication是官方提供的多主复制解决方案,它允许在一个组内的多个节点同时写入,通过冲突检测和解决策略保持数据一致性。MGR提供了高可用性和容错能力,但配置和管理相对复杂。 **四、高可用建议...

    mysql7系列官方最新版本5.7.37。

    8. **MySQL安装器**:`mysql-installer-community-5.7.37.0.msi`文件是Windows平台的MySQL安装程序,它简化了MySQL服务器、客户端工具和其他相关组件的安装和配置流程。 9. **高可用性与容灾**:5.7版本提供了更多...

Global site tag (gtag.js) - Google Analytics