1、环境与条件已存在主从架构环境 主机名 IP地址 主从角色 MHA角色 leo1 192.168.3.2 Master MHA-node leo2 192.168.3.3 slave M
1、环境与条件
已存在主从架构环境
主机名 | IP地址 | 主从角色 | MHA角色 |
---|---|---|---|
leo1 | 192.168.3.2 | Master | MHA-node |
leo2 | 192.168.3.3 | slave | MHA-node |
leo3 | 192.168.3.4 | slave | MHA-node,MHA-manager |
vip | 192.168.3.6 |
主从确保主从状态正常
Mysql>show slave status\G;
io与sql进程为YES
参数更改
relay_log_purge = 0 #不自动删除relay log 以便于宕机修复数据
log_bin = /data/log/leo-bin #从库开启binlog 以便于宕机修复数据
expire_logs_days=7
log-slave-updates=1
2、配置ssh
MHA在运行是会通过SSH服务连接到其他节点服务器进行检测或复制数据,因此需要集群内可免密码登陆。
在leo1-3内分别执行如下命令:
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.3.2
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.3.3
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.3.4
3、安装MHA Node
对所有mysql节点安装MHA Node
1)安装perl语言
yum install perl-DBD-MySQL -y ###因为MHA用perl 开发
2)安装MHA Node
rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm
下载地址
https://code.Google.com/arcHive/p/mysql-master-ha/downloads
3)创建命令软连接方便使用:
ls -s /app/mysql/bin/mysqlbinlog /usr/bin/mysqlbinlog
ls -s /app/mysql/bin/mysql /usr/bin/mysql
4)检查MHA账户
grant all privileges on *.* to mha@'192.168.3%' identified by 'mha';
select user,host from mysql.user;
4、MHA-Manager
Manager 可以安装在任何一台机器上。
1)使用epel源安装perl环境
wget -O /etc/yum.repo.d/epel.repo Http://mirrors.aliyum.com/repo/eprl-6.repo
2)安装管理节点以来包
yum intall -u perl-Config-Tiny* epel-release perl-Log-Dispatch* perl-Parallel* per-Time*
3)安装MHA-Node
rpm -ivh mha4mysql-node-0.56-0.el6.noarch.rpm
4)安装MHA-Manger
rpm -ivh mha4mysql-manager-0.56-0.el6.noarch.rpm
5、配置MHA管理节点
mkdir -p /etc/mha
mkdir -p /var/log/mha/app1
vi /etc/mha/app1.cnf
[server default]
manager_log=/var/log/mha/app1/manager.log
manager_workdir=/var/log/mha/app1.log
mater_binlog_dir=/app/mysql/data ##MHA保存主库binlog路径
user=mha ##mysql 数据库授权yonghu
passWord=mha
ping_interval=2 ##监控ping包时间间隔
repl_user=rep ##主从复制用户
repl_password=leo123
ssh_user=root
repot_script=/usr/local/send_report ##故障发生后触发脚本
secondary_check_script=/usr/local/bin/masterha_secondary_check -s leo3 -s leo2 --user=root --master_host=leo1 --master_ip=192.168.3.2 --master_port=3306
########manager 联系不上leo1时会通过leo2、leo3 查看leo1的状态
shutdown_script=""
[server1]
hostname=192.168.3.2
port=3306
[server2]
hostname=192.168.3.4
port=3306
candidate_master=1 ##设定此参数后server2 会将优先升为主库
check_repl_delay=0 ##MHA忽律主从复制延迟
[server3]
hostname=192.168.3.3
port=3306
6、启动及测试
1)检测ssh免密登陆
master_check_ssh -conf=/etc/mha/app1.cnf
2)检测主从复制状态
master_check_repl -conf=/etc/mha/app1.cnf
3)启动MHA
nohup master_manager --conf=/etc/mha/app1.cnf --remove_dead_master_conf --ignore_last_failver < /dev/null > /var/log/mha/app1/manager.log 2>&1 &
##remove_dead_master_conf 在配置文件中删除master信息
##ignore_last_failver 忽律上一次故障切换
7、配置VIP漂移
1)利用keepalived
2)在配置文件中填入以下参数
master_ip_failover_script=/usr/local/bin/master_ip_failover
3)在脚本中加入以下参数
my = $vip= '192.168.3.6';
my $key= 0
my $ssh_start_vip = "/sbin/ifconfig eth0:$key $vip";
my $ssh_stop_vip = "/sbin/ifconfig eth0:$key down";
chmod +x /etc/mha/master_ip_failover
--结束END--
本文标题: MySQL MHA应用实践(方案实战)
本文链接: https://www.lsjlt.com/news/39874.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-22
2024-05-22
2024-05-22
2024-05-22
2024-05-22
2024-05-22
2024-05-22
2024-05-21
2024-05-21
2024-05-21
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
一口价域名售卖能注册吗?域名是网站的标识,简短且易于记忆,为在线用户提供了访问我们网站的简单路径。一口价是在域名交易中一种常见的模式,而这种通常是针对已经被注册的域名转售给其他人的一种方式。
一口价域名买卖的过程通常包括以下几个步骤:
1.寻找:买家需要在域名售卖平台上找到心仪的一口价域名。平台通常会为每个可售的域名提供详细的描述,包括价格、年龄、流
443px" 443px) https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294.jpg https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294-768x413.jpg 域名售卖 域名一口价售卖 游戏音频 赋值/切片 框架优势 评估指南 项目规模
0