mysql集群云_如何在滴滴云 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

be694f16884f01acbf2403c3190948a6.png

在两台 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

cd52dab119128dc4996d440490e46111.png

配置 masterha_default.cnf 文件

43ad5c28458aa2d68e28610ff43bba4d.png

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

69f3d0da420e68afd4b447f904339d7b.png

7. 设置守护程序

054270cf9d47a89d2c33a7e88f1093a4.png

启动 app1

svc

-

u

/

service

/

app1

停止

svc

-

d

/

service

/

app1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值