广告
返回顶部
首页 > 资讯 > 数据库 >如何搭建MySQL Group Replication测试环境
  • 842
分享到

如何搭建MySQL Group Replication测试环境

2024-04-02 19:04:59 842人浏览 独家记忆
摘要

这篇文章给大家分享的是有关如何搭建Mysql Group Replication测试环境的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。    最近看了下my

这篇文章给大家分享的是有关如何搭建Mysql Group Replication测试环境的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

   最近看了下mysql 5.7中的闪亮特性Group Replication,也花了不少做了些测试,发现有些方面的表现确实不赖。当然要模拟这么一套环境还是需要花不少的功夫的,一般来说都是3个节点的环境,实际中要找这样的环境也不是很容易。我们怎么快速模拟呢。一种方式就是在一台服务器上搭建多实例。

   这样一来,服务器的问题就解决了,下面要解决的问题就要艰巨的多了,那就是部署环境。

   可以看到各路博客中都有了详细的解释,而官方文档中对于搭建过程也花了不少的额篇幅来解释,每一个步骤,每个操作,每个参数的含义。但是尽管如此,一次性成功搭建出这个环境的成功概率还是很低。初始化的部分不说,总是在添加节点的时候会有一些问题,这些问题折磨了我好些天,很多时候排查问题要做减法,也算是熟能生巧吧。搭建了十多遍,我也把自己的经验简单总结出来。这样的一个精华就是脚本了。

   当然这是一个很初始的脚本,没有动态变量,没有复杂的条件判断,我就是顺序累了这么些代码,反复尝试,算是可以在一分钟内搭建出一个符合基本要求的环境。

    我就直接上一个比较简单的脚本,其实严格来说不算是脚本。初始化环境的部分

mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/home/mysql/data/s1 --explicit_defaults_for_timestamp
mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/home/mysql/data/s2 --explicit_defaults_for_timestamp
mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/home/mysql/data/s3 --explicit_defaults_for_timestamp
配置参数文件
chown -R mysql:mysql s1 s2 s3
cp s1.cnf s1
cp s2.cnf s2
cp s3.cnf s3

chown -R mysql:mysql s1 s2 s3
启动MySQL服务
/usr/local/mysql/bin/mysqld_safe --defaults-file=/home/mysql/data/s1/s1.cnf &
/usr/local/mysql/bin/mysqld_safe --defaults-file=/home/mysql/data/s2/s2.cnf &
/usr/local/mysql/bin/mysqld_safe --defaults-file=/home/mysql/data/s3/s3.cnf &
中间停顿几秒,保证服务能够正常启动
sleep 10
连接到各个实例查看是数据库是否可用
/usr/local/mysql/bin/mysql -P24081  -S /home/mysql/s1.sock  -e "show databases"
/usr/local/mysql/bin/mysql -P24082  -S /home/mysql/s2.sock  -e "show databases"
/usr/local/mysql/bin/mysql -P24083  -S /home/mysql/s3.sock  -e "show databases"


连接到第一个节点,运行下面的脚本,初始化安装GR插件,做一个基本的配置mysql -P24081  -S /home/mysql/s1.sock -e "
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';
INSTALL PLUGIN group_replication SONAME 'group_replication.so';               
SET GLOBAL group_replication_bootstrap_group=ON;
START GROUP_REPLICATION;
SET GLOBAL group_replication_bootstrap_group=OFF;
select *from perfORMance_schema.replication_group_members;
"

连接到第二个节点,初始化GR插件和基础配置,和第一个节点略有不同。mysql -P24082  -S /home/mysql/s2.sock -e   "
SET SQL_LOG_BIN=0;
CREATE USER rpl_user@'%';
GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%' IDENTIFIED BY 'rpl_pass';
SET SQL_LOG_BIN=1;
CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='rpl_pass'
        FOR CHANNEL 'group_replication_recovery';
INSTALL PLUGIN group_replication SONAME 'group_replication.so';
set global group_replication_allow_local_disjoint_gtids_join=on;
start group_replication;
select *from performance_schema.replication_group_members;
"

连接到第二个节点,初始化GR插件和基础配置,和第一个节点略有不同。mysql -P24083  -S /home/mysql/s3.sock -e   "
SET SQL_LOG_BIN=0;
CREATE USER rpl_user@'%';
GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%' IDENTIFIED BY 'rpl_pass';
SET SQL_LOG_BIN=1;
CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='rpl_pass'
        FOR CHANNEL 'group_replication_recovery';
INSTALL PLUGIN group_replication SONAME 'group_replication.so';
set global group_replication_allow_local_disjoint_gtids_join=on;
start group_replication ;
select *from performance_schema.replication_group_members;
"参数文件的模板如下,除了红色的部分,其它都保持不变即可。这里我使用的端口是24801,不是默认的3306,当然这个没有限制。

[mysqld]

# server configuration
datadir=/home/mysql/data/s1
basedir=/usr/local/mysql

port=24801
Socket=/home/mysql/s1.sock


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=binlog
binlog_format=ROW

transaction_write_set_extraction=XXHASH64
loose-group_replication_group_name="1bb1b861-f776-11e6-be42-782bcb377193"
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

运行脚本的输出如下,最后会显示节点都添加成功。

+---------------------------+--------------------------------------+-------------+-------------+--------------+
| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| group_replication_applier | b3684636-f83D-11e6-bd53-782bcb377193 | grtest      |       24801 | ONLINE       |
| group_replication_applier | b4a7d208-f83d-11e6-be4e-782bcb377193 | grtest      |       24802 | ONLINE       |
| group_replication_applier | b5eecf1d-f83d-11e6-80d7-782bcb377193 | grtest      |       24803 | ONLINE       |
+---------------------------+--------------------------------------+-------------+-------------+--------------+

感谢各位的阅读!关于“如何搭建MySQL Group Replication测试环境”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

您可能感兴趣的文档:

--结束END--

本文标题: 如何搭建MySQL Group Replication测试环境

本文链接: https://www.lsjlt.com/news/66563.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何搭建MySQL Group Replication测试环境
    这篇文章给大家分享的是有关如何搭建MySQL Group Replication测试环境的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。    最近看了下My...
    99+
    2022-10-19
  • 如何搭建和测试MySQL高可用框架Group Replication(组复制)
    下面讲讲关于如何搭建和测试MySQL高可用框架Group Replication(组复制),文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完如何搭建和测试MySQL高可用框架Gro...
    99+
    2022-10-18
  • linux如何搭建web测试环境
    搭建Linux上的Web测试环境可以按照以下步骤进行:1. 安装Apache Web服务器:在终端中运行以下命令安装Apache:`...
    99+
    2023-08-23
    linux
  • MySQL InnoDB Cluster环境搭建和简单测试
    InnoDB Cluster初印象   记得MySQL Group Replicatioin 刚开始的时候,MySQL界很是轰动,等待了多年,终于有了官方的这个高可用解决方案。你要说还...
    99+
    2022-10-18
  • 怎么搭建linux测试环境
    要搭建一个Linux测试环境,你可以按照以下步骤进行操作:1.选择Linux发行版:首先要选择一个适合测试的Linux发行版,比如U...
    99+
    2023-08-24
    linux
  • Android Robotium搭建环境测试微信
      因为要在命令行下运行一些android的工具,所以配置一些环境变量会比较方便:   遇到问题: java -jar re-sign.jar 出现提示android路径...
    99+
    2022-06-06
    环境 robotium 测试 Android
  • 自动化测试 selenium 环境搭建
    做 web 项目,测试是无法避免的。对于某些特定功能,采用单元测试就行。但如果想对网站进行整体测试,人工点击测试可行但有点累,如果能借助自动化测试工具就更好了。selenium 就是一款能满足这样要求的测试工具,selenium 是一款用...
    99+
    2023-01-30
    环境 测试 selenium
  • 怎么搭建一个AOP测试环境
    本篇内容介绍了“怎么搭建一个AOP测试环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!写在前面金九银十的...
    99+
    2022-10-19
  • Python 做自动化测试环境搭建
    https://blog.csdn.net/GitChat/article/details/79081187   一、Selenium 环境部署 1. window 环境部署 1.1 当前环境 Win10 64 位系统;Python3.6...
    99+
    2023-01-31
    环境 测试 Python
  • 技术分享 | 如何使用 dbdeployer 快速搭建 MySQL 测试环境
    作者:余振兴 一、工具介绍 dbdeployer 是一款十分强大的数据库测试环境部署工具,可实现一键部署不同架构、不同版本的数据库环境。 如:MySQL 主从复制、GTID 模式复制、MySQL 组复制(单主模式、多主模式等) 完整的...
    99+
    2022-01-26
    技术分享 | 如何使用 dbdeployer 快速搭建 MySQL 测试环境
  • mysql源码调试(一)环境搭建
    操作系统:windows server 2012 R2VS版本:visio studio 2015 community机器配置:4core/4G安装所需包:cmake,bison,boost,activep...
    99+
    2022-10-18
  • Lamp环境中如何搭建Mysql与PHP环境的搭建
    今天就跟大家聊聊有关  Lamp环境中如何搭建Mysql与PHP环境的搭建,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 Lam...
    99+
    2022-10-18
  • hibernate环境搭建测试的示例分析
    这篇文章主要介绍了hibernate环境搭建测试的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。真正要掌握,还得需要自己动手,才能丰...
    99+
    2022-10-19
  • Windows下如何搭建单机Redis集群测试环境
    小编给大家分享一下Windows下如何搭建单机Redis集群测试环境,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!由于业务需要,...
    99+
    2022-10-19
  • 如何动态创建MySQL Group Replication的节点
    这篇文章主要为大家展示了“如何动态创建MySQL Group Replication的节点”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何动态创建MySQL ...
    99+
    2022-10-18
  • 虚拟机搭建测试环境解决方案
    图片中涉及的脚本在图片下方。 【脚本1】. select df.tablespace_name "表空间名",        totalspace...
    99+
    2022-10-18
  • Jmeter测试必知的名词及环境搭建
    那么什么是性能测试,它与功能测试有什么样的区别? 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试  &n...
    99+
    2022-11-12
  • 如何在阿里云服务器上搭建测试环境
    本文将详细介绍如何在阿里云服务器上搭建测试环境,包括准备阶段、安装阶段、配置阶段和使用阶段。 准备阶段:阿里云账号注册:首先,你需要在阿里云上注册一个账号,然后登录你的账号。选择服务器:在阿里云上选择一个适合你需求的服务器,例如,你可以选择...
    99+
    2023-10-31
    阿里 器上 环境
  • linux php调试环境如何搭建
    这篇文章主要讲解了“linux php调试环境如何搭建”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux php调试环境如何搭建”吧!linux php调试环境的搭建方法:1、下载安装...
    99+
    2023-06-22
  • 怎么在CentOS LAMP环境搭建和测试php与mysql的连接
    这篇文章主要介绍“怎么在CentOS LAMP环境搭建和测试php与mysql的连接”,在日常操作中,相信很多人在怎么在CentOS LAMP环境搭建和测试php与mysql的连接问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作