一、配置yum源mysql
[root@mgr1 ~]# cat /etc/yum.repos.d/signal18.repo [signal18] name=Signal18 repositories baseurl=http://repo.signal18.io/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
二、yum安裝過程git
[root@mgr1 ~]# yum install replication-manager-osc Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.dal.nexril.net * epel: mirrors.yun-idc.com * extras: mirrors.huaweicloud.com * updates: mirrors.tuna.tsinghua.edu.cn github_orchestrator/x86_64/signature | 833 B 00:00:00 github_orchestrator/x86_64/signature | 1.0 kB 00:00:00 !!! github_orchestrator-source/signature | 819 B 00:00:00 github_orchestrator-source/signature | 951 B 00:00:00 !!! signal18 | 2.9 kB 00:00:00 signal18/7/x86_64/primary_db | 5.8 kB 00:00:01 Resolving Dependencies --> Running transaction check ---> Package replication-manager-osc.x86_64 1560253855:2.0.1_28_gf072-1 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================================================================================= Package Arch Version Repository Size ================================================================================================================================================================================================= Installing: replication-manager-osc x86_64 1560253855:2.0.1_28_gf072-1 signal18 26 M Transaction Summary ================================================================================================================================================================================================= Install 1 Package Total download size: 26 M Installed size: 192 M Is this ok [y/d/N]: y Downloading packages: replication-manager-osc-2.0.1_28_gf072-1.x86_64.rpm | 26 MB 00:22:57 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : 1560253855:replication-manager-osc-2.0.1_28_gf072-1.x86_64 1/1 Verifying : 1560253855:replication-manager-osc-2.0.1_28_gf072-1.x86_64 1/1 Installed: replication-manager-osc.x86_64 1560253855:2.0.1_28_gf072-1 Complete!
三、配置文件修改github
[root@mgr1 ~]# find / -name *.toml /etc/replication-manager/cluster.d/cluster01.toml /etc/replication-manager/cluster.d/cluster02.toml [root@mgr1 ~]# vim /etc/replication-manager/cluster.d/cluster01.toml [root@mgr1 ~]# mkdir -p /data/replication-manager [root@mgr1 ~]# mkdir -p /data/share_replication-manager [root@mgr1 ~]# vim /etc/replication-manager/config.toml [root@mgr1 ~]# cat /etc/replication-manager/config.toml [Cluster01] title = "Cluster01" db-servers-hosts = "192.168.56.14:3306,192.168.56.15:3306,192.168.56.16:3306" db-servers-prefered-master = "192.168.56.15:3306" db-servers-credential = "orchestrator:123456" db-servers-connect-timeout = 1 replication-credential = "orchestrator:123456" failover-mode = "automatic" [Default] monitoring-datadir = "/data/replication-manager" monitoring-sharedir = "/data/share_replication-manager" log-level=1 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"
四、啓動sql
[root@mgr1 ~]# /etc/init.d/replication-manager restart Restarting replication-manager (via systemctl): [ OK ] [root@mgr1 ~]#
五、切換測試vim
六、結合中間件maxscale,proxysqlcentos
maxscale,proxysql負責讀寫分離,由於這兩個中間件自己就有識別發現主的功能,因此replication-manager負責管理主從failover的主庫選舉和從庫指向新主。 發現replication-manager能夠對maxscale,proxysql管理,我以爲這個兩個中間件主動發現模式已經夠用了,不須要被動接收replication-manager發送信息。
七、特別說明:bash
shutdown的主節點上線後,replication-manager會自動把其加入集羣。 replication-manager不須要在MySQL節點安裝客戶端
八、個人環境:dom
mgr安裝的是replication-manager es1-3安裝的是MySQL5.7 gtid主從 [root@mgr1 maxscale]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.56.13 mgr 192.168.56.14 es1 192.168.56.15 es2 192.168.56.16 es3 [root@mgr1 maxscale]# [root@es3 bin]# cat /etc/my.cnf |grep -v ^#[mysqld]datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid gtid-mode = ON enforce-gtid-consistency = ON log-slave-updates = ON log-bin=mysqlbin server-id=3 report_host=es3[root@es3 bin]#