如何在滴滴雲 DC2 上搭建高可用 MySQL 叢集
前言
MySQL 高可用叢集
MySQL 高可用叢集是透過第三方軟體實現的故障轉移技術,通常是透過 MHA+Keepalived 或者 MHA+ 指令碼等來實現,本例子將採用 Keepalived 實現。
準備
系統硬體
滴滴雲 伺服器(DC2):安全可靠,擁有極高的價效比高,為開發者的需求而設計。適合大中小型使用者購買使用。
本文示例採用:通用型 2核CPU 4GB記憶體 500G的EBS 雲盤的伺服器配置
數量:3 臺,2 臺 MySQL 主從伺服器,1 臺 MHA 管理伺服器
依賴軟體
系統:CentOS 7.4
MySQL 5.7.24
daemontools-0.76.tar.gz
mha4mysql-manager-0.56-0.el6.noarch.rpm
mha4mysql-node-0.56-0.el6.noarch.rpm
Keepalived v1.2.13
安裝過程
1. 登入2臺伺服器
SSH 登入購買的 滴滴雲 DC2 主機
ssh dc2 - user @ ip
2. 安裝並配置 MySQL 主從複製關係
兩臺伺服器的 MySQL 都安裝完成後開始配置主從複製關係。(如果不會安裝 MySQL 可以參考另一篇如何安裝 MySQL 的文章: 如何在滴滴雲 DC2 上搭建 MySQL 服務 )。
在主庫上建立從庫賬號
mysql > CREATE USER 'repl' @ 'ip' IDENTIFIED BY '****' ;
mysql > GRANT REPLICATION SLAVE ON * . * TO 'repl' @ 'ip' ;
從庫執行 change master 命令指向主庫,配置的是 GTID 複製,所以不需要 binlog 的資訊。
mysql > change master to master_host = 'master_ip' , master_port = port , master_heartbeat_period = 10 , master_user = 'repl' ,
master_password = ' ******' , master_auto_position = 1 ;
需要注意的地方:
-
server_id 不能相同
-
主從開啟 GTID 複製
3. 建立主從複製關係後,校驗一下複製是否成功開啟
登入從庫,檢視 IO 和 SQL 執行緒是否啟動
mysql > show slave status \ G ;
4. 安裝 MHA
登入到第三臺 DC2 的伺服器安裝 MHA,可以下載最新的 MHA:
在兩臺 MySQL 伺服器安裝 MHA Node
yum - y install perl - DBD - mysql
rpm - ivh mha4mysql - node - 0.56 - 0.el6.noarch.rpm
在 etc 目錄下建立 MHA 資料夾
mkdir - p / etc / mha /
建立 manager 日誌目錄
mkdir - p / var / log / mha / app1
chmod 755 / var / log / mha / app1
配置 app1.cnf
配置 masterha_default.cnf 檔案
5. 配置 SSH 互信和 MHA 使用者
MySQL 主從伺服器配置戶型:
生成 pub 秘鑰,一直回車就可以,生成成功後複製 id_rsa.pub 裡面的秘鑰到從庫,同樣從庫也是先生成秘鑰再複製到主庫伺服器。
cd ~ / . ssh
MHA 管理端到 MySQL Node 的互信配置,生成秘鑰,同時複製到 MySQL 的兩臺伺服器上。
建立MHA使用者:
登入到 MySQL 主庫
mysql > CREATE USER 'mha' @ '%' IDENTIFIED BY 'mha2018REPL' ;
mysql > GRANT all privileges ON * . * TO 'mha' @ '%' ;
校驗 MHA 的 SSH 互信配置與 MySQL 複製狀態
masterha_check_ssh -- conf = / etc / mha . d / app1 . cnf
masterha_check_repl -- conf = / etc / mha . d / app1 . cnf -- global_conf = / etc / mha . d / masterha_default . cnf
MHA 的指令碼修改
master_ip_failover
、
master_ip_online_change
、
send_master_failover_mail
可以把例子的指令碼複製下來,放到
/etc/mha/script
的目錄下,適當按需修改內容。
6. Keepalived 安裝
在兩臺 MySQL 伺服器上安裝 Keepalived
7. 設定守護程式
啟動 app1
svc - u / service / app1
停止
svc - d / service / app1
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559758/viewspace-2284842/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何在滴滴雲 DC2 上搭建 ETCD 叢集
- 如何在滴滴雲 DC2 上搭建 MySQL 服務MySql
- 在滴滴雲 DC2 雲伺服器上搭建 RabbitMQ 叢集伺服器MQ
- 在滴滴雲 DC2 雲伺服器上搭建 ZooKeeper 叢集實戰(一)伺服器
- 如何在滴滴雲 DC2 上搭建 ProxySQL 中介軟體SQL
- 在滴滴雲上搭建 MongoDB 叢集 (一):MongoDB
- 在滴滴雲上搭建 Redis-Cluster 叢集Redis
- 搭建 MySQL 高可用高效能叢集MySql
- MongoDB高可用叢集搭建MongoDB
- zookeeper 高可用叢集搭建
- 在滴滴雲 DC2 雲伺服器上搭建 ELK 日誌採集系統伺服器
- MySQL叢集搭建(6)-雙主+keepalived高可用MySql
- 在滴滴雲 DC2 雲伺服器上搭建 Codis 實戰伺服器
- 在滴滴雲 DC2 雲伺服器上搭建 MongoDB 實戰伺服器MongoDB
- mysql高可用叢集之MMMMySql
- 搭建 Kubernetes 高可用叢集
- 搭建高可用MongoDB叢集(四):分片MongoDB
- 使用pgpool搭建高可用PostgreSQL叢集SQL
- CentOS 7下搭建高可用叢集CentOS
- CentOS 7 下搭建高可用叢集CentOS
- 高可用叢集環境搭建-留檔
- 基於 ZooKeeper 搭建 Spark 高可用叢集Spark
- 4 種高可用 RocketMQ 叢集搭建方案!MQ
- 搭建高可用MongoDB叢集(二): 副本集MongoDB
- 搭建高可用MongoDB叢集(一):配置MongoDBMongoDB
- 在滴滴雲上學習 Kubernetes v1.13.0:叢集搭建
- 在滴滴雲DC2伺服器上搭建DPDK應用例項伺服器
- 淺談MySQL叢集高可用架構MySql架構
- 基於 ZooKeeper 搭建 Hadoop 高可用叢集Hadoop
- Redis操作及叢集搭建以及高可用配置Redis
- 高可用Hadoop平臺-HBase叢集搭建Hadoop
- 使用nginx搭建高可用,高併發的wcf叢集Nginx
- 基於滴滴雲伺服器搭建 Consul 叢集伺服器
- 滴滴雲上搭建 Gluster
- RabbitMQ高階指南:從配置、使用到高可用叢集搭建MQ
- 基於 HAProxy + KeepAlived 搭建 RabbitMQ 高可用叢集MQ
- Keepalived+Nginx高可用叢集搭建筆記Nginx筆記
- 快速掌握RabbitMQ(五)——搭建高可用的RabbitMQ叢集MQ