Replication-manager
来自Linux78|wiki
replication-manager简介
replication-manager是signal18开源的一款数据库高可用工具,采用go语言开发,源码托管在github上。
支持的MySQL的版本:
MariaDB 10.x
MySQL & Percona Server 5.7 GTID
功能特性:
复制关系监控与拓扑检测
在线切换(switchover)
故障切换(failover)
多集群管理
支持代理( ProxySQL, MaxScale, HAProxy, Spider)
大多数场景数据零丢失
安装
vi /etc/yum.repos.d/signal18.repo [signal18] name=Signal18 repositories baseurl=http://repo.signal18.io/centos/$releasever/$basearch/ gpgcheck=0 enabled=1 yum install replication-manager-osc
配置
vi /etc/replication-manager/config.toml [db3306] title = "db3306" db-servers-hosts = "192.168.99.210:3508,192.168.99.211:3508,192.168.99.212:3508" db-servers-prefered-master = "192.168.99.210:3508" db-servers-credential = "wyz:****" replication-credential = "repl:re****" failover-mode = "manual" proxysql=true proxysql-server="192.168.99.210" proxysql-port=6033 proxysql-admin-port=6032 proxysql-writer-hostgroup=10 proxysql-reader-hostgroup=11 proxysql-user="adfz" proxysql-password="****" proxysql-bootstrap=false [Default] monitoring-datadir = "/data/replication-manager" monitoring-sharedir = "/data/share_replication-manager" log-level=7 log-file = "/var/log/replication-manager.log" replication-multi-master = false replication-multi-tier-slave = false failover-readonly-state = true http-server = true http-bind-address = "0.0.0.0" http-port = "10001"
在浏览器中打开:http://IP:10001/
手动执行故障切换
先把主库关掉
执行./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