前言
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/