专栏首页杨建荣的学习笔记个人的小项目mysql_mgr_test开放了

个人的小项目mysql_mgr_test开放了

之前写了一版简单的shell脚本,能够实现简单的MySQL Group Replication环境的测试快速部署,大概就1分多钟的时间就快速创建多个实例节点,如果要学习尝鲜MGR的话还是推荐试试的。

自己也手工测试过几次,还能用。说不上高大上,但是能够基本满足需求,今天又抽空完善了一下,在一个全新的环境中部署了一把,还算比较顺利。

我简单说说这个小的项目,也希望大家齐心协力,把它逐步完善起来。

github上的截图如下:

如果要实现快速部署MGR,下面是一些基本的步骤。

1. 首先需要下载MySQL软件,配置/etc/hosts文件,下载二进制包都不需要什么安装了,直接解压放入指定的目录即可,比如/usr/local/mysql。目前最新的版本是官方的5.7.19 假设 10.127.1.18是服务器的IP,那么在/etc/hosts里面就尤其需要注意,把它务必配置好。 比如下面的/etc/hosts的文件内容: 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.127.1.18 mysqltestdb 2. 有一个统一的配置文件 auto.cnf ,在这个配置文件里配置MySQL软件的路径,数据文件的路径即可。 这些没有固定的内容,都是根据你的需求和具体的配置来定。比如auto.cnf的内容如下: export base_dir=/usr/local/mysql export base_data_dir=/home/data 3. 配置节点列表,这是MGR部署关键的一个配置文件了。 每个节点的配置分为4部分:节点的端口,节点的别名,节点的内部端口,节点的角色。 节点的端口是数据库提供数据访问的端口,节点的别名,因为是在同一台服务器上模拟测试,所以需要标识不同节点的名字。 节点的内部端口,这是MGR在各个节点之间的通信端口,最后是节点的角色,如果为Y就是提供读写权限,负责,只有读权限。 如果是单主模式,最后的标识位第一个是Y,其他都为N 24801 s1 24901 Y 24802 s2 24902 N 24803 s3 24903 N 24804 s4 24904 N 24805 s5 24905 N 如果是多主模式,则节点的角色都要标记为Y 24801 s1 24901 Y 24802 s2 24902 Y 24803 s3 24903 Y 24804 s4 24904 Y 24805 s5 24905 Y 4. 运行脚本init.sh 不需要输入任何的参数。 这是最耗时的步骤,也是最核心的脚本。 5. 使用check_node.sh 脚本可以检查各个节点的状态,,输入参数为节点别名,比如s1 使用start_node.sh 脚本可以启动指定的节点,,输入参数为节点别名,比如s1 使用reset_node.sh 脚本可以在节点需要重新加入集群的时候使用,输入参数为节点别名,比如s1 使用stop_node.sh 脚本可以停止指定的节点,输入参数为节点别名,比如s1 使用conn_node.sh 脚本可以连接到指定的节点,输入参数为节点别名,比如s1 比如我要检查节点s2的状态,是否为oline,是否应用数据正常,可以使用check_node.sh来查看。 sh check_node.sh s2 6. 感谢使用,有问题反馈,可以提交issue或者邮件给我jeanrock@126.com

最后再重复下github的地址: https://github.com/jeanron100/mysql_mgr_test

本文分享自微信公众号 - 杨建荣的学习笔记(jianrong-notes),作者:杨建荣

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-08-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MySQL级联复制中的数据同步(r11笔记第20天)

    最近开发的同事反馈了一个问题,说有一台北京节点的MySQL数据库数据延迟太大,想让我们帮忙看看怎么解决。 这个问题一下子让我想起了之前“水深火热...

    jeanron100
  • 过度设计的问题

    前几天碰到了一个严重的硬件问题导致服务受到影响,我在总结思考的时候,脑袋里冒出了一个观点:过度设计。

    jeanron100
  • MySQL分布式架构扩缩容的初步设计(二)

    扩容其实相对来说会容易一些,也是一种可控的实现方式,在这种方案中的主要思路就是基于GTID的双向复制,这里的双向复制是一种比较纯粹的单向复制,即节点1只负责db...

    jeanron100
  • JS数据结构第五篇 --- 二叉树和二叉查找树

    从逻辑结构角度来看,前面说的链表、栈、队列都是线性结构;而今天要了解的“二叉树”属于树形结构。

    tandaxia
  • 重温数据结构:树 及 Java 实现

    数据结构,指的是数据的存储形式,常见的有线性结构(数组、链表,队列、栈),还有非线性结构(树、图等)。 今天我们来学习下数据结构中的 树。 什么是树 线性结构中...

    张拭心 shixinzhang
  • 树的实现

    一.树的定义和细节: /* 1.树是由一些节点组成的集合,这个集合可以是空集。 2.如果这个集合非空集,那么一棵树就是由根节点,以及...

    Enterprise_
  • 三分钟基础:什么是 2-3-4 树

    三分钟基础知识:什么是 2-3 树?。本篇文章将在 2-3 树的基础上更进一步,介绍比 2-3 树更为复杂的数据结构 2-3-4树 。之所以介绍 2-3-4 树...

    帅地
  • Jenkins+Gogs(git仓库)系列8:节点概述和遇到过的坑提前讲解

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    MyJie
  • 三分钟基础知识:什么是 2-3 树?

    前面讲到了二叉搜索树 (BST) 和二叉平衡树 (AVL) :【漫画】以后在有面试官问你AVL树,你就把这篇文章扔给他。

    帅地
  • 获取DOM节点的方法汇总

    我们都知道,当获得所有节点(如:getElementsByTagName)或者获得所有子元素(如:element.childNodes)时,实际上返回的是包含一...

    Chor

扫码关注云+社区

领取腾讯云代金券