如何在滴滴云 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: https://github.com/yoshinorim/mha4mysql-manager

在两台 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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31559758/viewspace-2284842/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值