之前写了一版简单的shell脚本,能够实现简单的MySQL Group Replication环境的测试快速部署,大概就1分多钟的时间就快速创建多个实例节点,如果要学习尝鲜MGR的话还是推荐试试的。
自己也手工测试过几次,还能用。说不上高大上,但是能够基本满足需求,今天又抽空完善了一下,在一个全新的环境中部署了一把,还算比较顺利。
我简单说说这个小的项目,也希望大家齐心协力,把它逐步完善起来。
如果要实现快速部署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
亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:http://blog.itpub.net/23718752/viewspace-2144349/