首页 > 数据库 >MySQL高可用主从切换工具replication-manager

MySQL高可用主从切换工具replication-manager

时间:2022-11-25 14:12:34浏览次数:48  
标签:cli replication manager MySQL go config

MySQL高可用主从切换工具replication-manager

 

MySQL高可用工具,一直以来MHA使用的比较多,自从MySQL 开启GTID之后,又出现了Orchestrator以及replication-manager这类新的高可用工具,本文将主要介绍replication-manager的使用方法。

 

一、replication-manager简介

replication-manager是signal18开源的一款数据库高可用工具,采用go语言开发,源码托管在github上。

支持的MySQL的版本:

MariaDB 10.xMySQL & Percona Server 5.7 GTID功能特性:

复制关系监控与拓扑检测在线切换(switchover)故障切换(failover)多集群管理支持代理( ProxySQL, MaxScale, HAProxy, Spider)大多数场景数据零丢失二、下载及安装

在github上搜索replication-manager,下载源码(v2.0)

编译(需要联网):

创建目录:mkdir -p /data/go加入环境变量: export GOPATH=/data/goclone源码: go get github.com/signal18/replication-manager编译安装: go install github.com/signal18/replication-manager加入PATH环境变量: export PATH=$PATH:/data/go/bin编译完成之后,会在/data/go/bin目录下,生成一个replication-manager可执行文件。

编译完整二进制版本:

cd /data/go/src/github.com/signal18/replication-manager

./build_linux_amd64.sh

在源码目录中,生成可执行文件:

replication-managerreplication-manager-arbreplication-manager-clireplication-manager-minreplication-manager-min-basedirreplication-manager-oscreplication-manager-osc-basedirreplication-manager-proreplication-manager-pro-basedirreplication-manager-tstreplication-manager-tst-basedir下面演示案例,只使用 replication-manager-osc 和 replication-manager-cli。

replication-manager-osc 为后台集群监视程序,负责MySQL状态的获取和监控,以及切换的执行等等。replication-manager-cli 为客户端程序,负责管理命令的发送。三、使用案例

配置文件 config.toml:

 

mkdir -p /usr/share/replication-manager

cp -r /data/git/replication-manager/dashboard/ /usr/share/replication-manager/

监视集群:

./replication-manager-osc --config=./config.toml monitor

手动执行主从切换:

./replication-manager-cli switchover --config=./config.toml

手动执行故障切换:

先把主库关掉执行./replication-manager-cli --config=./config.toml failover自动执行故障切换:

只要在配置文件中,把failover-mode 由 "manual" 修改为 "automatic",重新监视集群即可。这样主库宕机的情况下,会自动执行故障切换。

宕机的旧主如果恢复后,会自动变成新主的一个从库,并且处于维护模式。

通过 replication-manager-cli 的 topology命令可以获取集群各个节点的id,再通过server命令,可以设置或者解除维护模式,如下:

./replication-manager-cli topology./replication-manager-cli server --id=5789112859919251853 --maintenance命令行模式:

./replication-manager-cli console

进入命令行交互模式,在该模式下,可查看当前集群的复制拓扑,也可以通过快捷键执行一些命令,比如ctrl+s 执行switchover,ctrl+f 执行failover,ctrl+m设置或者解除维护模式等等。

四、总结:

本文简单介绍了replication-manager的功能特性、编译安装和使用案例,总体来看,上手比较容易,编译配置简单,功能比较强大,文档也比较丰富。有兴趣的可以继续深入研究一下。

 

标签:cli,replication,manager,MySQL,go,config
From: https://www.cnblogs.com/Lqdream/p/16924934.html

相关文章

  • MySQL调优之innodb_buffer_pool_size大小设置
    MySQL调优之innodb_buffer_pool_size大小设置sunny052962017-12-2721:42:0443421收藏9展开 MySQL调优之innodb_buffer_pool_size大小设置 相关查看命令sql>......
  • mysql参数优化
    MySQL性能优化之参数配置 1、目的:通过根据服务器目前状况,修改Mysql的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能。 2、服务器参数:32G内存、4个CP......
  • Mysql主从同步的实现原理与配置
    1、什么是mysql主从同步?当master(主)库的数据发生变化的时候,变化会实时的同步到slave(从)库。 2、主从同步有什么好处?水平扩展数据库的负载能力。容错,高可用。Failover(失......
  • Go 操作 MySQL 数据库
    这一期讲一讲如何使用Go操作MySQL数据库,这里就不讲MySQL的安装以及配置了,但要记得开启MySQL服务,我这里使用的是MySQL8.0.20版本。加载数据库驱动想要连接到数据......
  • Go 的 MySQL 预处理、MySQL 事务
    预处理是什么在普通SQL语句执行过程中,客户端会对SQL语句进行占位符替换,从而得到要执行的完整SQL语句,客户端再将此SQL语句发送到服务端执行,服务端最后把结果返回给客......
  • 【MySQL数据库开发之三】MySQL 获得数据库和表的信息、日期计算、对表的删除修改等操
    本站文章均为​​ 李华明Himi ​​​原创,转载务必在明显处注明通过上一篇的介绍,大家可以创建自己的数据库和表以及插入表中数据等等,本章继续介绍更多的数据库的相关操作;......
  • 【MySQL数据库开发之二】MySQL 基础语句的书写与一些数据库操作(创建使用数据库、表)!
    本站文章均为​​ 李华明Himi ​​​原创,转载务必在明显处注明本篇Himi简单介绍一些MySQL数据库的基础操作;注:mysql语句对大小写不敏感,语句以分号“;”标识语句结束;1. ......
  • 使用Xenon实现MySQL高可用集群
    使用Xenon实现MySQL高可用集群1、Xenon介绍 https://github.com/radondb/xenon#VIP就是对外提供服务的IP,比如jdbc配置就是写这个VIPxenon架构介绍 ,每个MySQL节点安装......
  • mysql商品评论表
    CREATEDATABASEshop;USEshop;CREATETABLEsh_goods(idINTUNSIGNEDPRIMARYKEYAUTO_INCREMENTCOMMENT'商品id',category_idINTUNSIGNEDNOTNULLDEFAULT0......
  • 第13节-MySQL事件调度器
    14.1、事件调度器使用场景数据库管理是一项重要且烦琐的工作,许多日常管理任务往往会频繁地﹑周期性地执行,例如定期维护索引﹑定时刷新数据﹑定时关闭帐户﹑定义打开或关闭数据库......