mysql系列之8.mysql高可用 (mha4mysql)
环境: 三台机器
主服务器: 192.168.1.130
主备机器: 192.168.1.131
监控机器: 192.168.1.132
130和131, 是mysql双主架构
1.在三台机器上安装mha4mysql-node
yum -y install perl-DBD-MySQL
tar -zxvpf mha4mysql-node-0.56.tar.gz
mha4mysql-node-0.56.tar.gz
cd mha4mysql-node-0.56
perl Makefile.PL
----------------
可能报错:
Can't locate ExtUtils/MakeMaker.pm
Can't locate CPAN.pm
解决办法:
yum install perl perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-CPAN
----------------
make && make install
2.在主服务器和主备机器上:
授权账户
mysql> grant all on *.* to ';
主备修改my.cnf: 增加两个参数
[mysqld] read-only relay_log_purge=
3.在监控机器上安装mha4mysql-manager
yum install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Config-IniFiles perl-Time-HiRes
tar -zxvpf mha4mysql-manager-0.56.tar.gz
mha4mysql-manager-0.56.tar.gz
cd mha4mysql-manager-0.56
perl Makefile.PL
------------------
可能报错:
Can't locate Log/Dispatch.pm
解决办法:
perl -MCPAN -e "install Log::Dispatch"
------------------
make && make install
4.修改manager的配置文件: 详见...
mkdir /etc/masterha
mkdir -p /masterha/app1
cd mha4mysql-manager-0.56
cp samples/conf/* /etc/masterha/
cp samples/scripts/* /usr/local/bin/
5.在三台机器上都执行: 建立ssh无密码登录环境
ssh-keygen -t rsa
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.32.130
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.32.131
//132机器: 执行后两句
//131机器: 执行第二句
//130机器: 执行第三句
6.回到监控机器, 检查: ssh登录 和 repl复制
masterha_check_ssh --conf=/etc/masterha/app1.cnf
------------------
可能报错:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)
解决办法: ???
chmod 700 /root/
chmod 700 /root/.ssh/
chmod 644 /root/.ssh/authorized_keys
chmod 600 /root/.ssh/id_rsa
------------------
masterha_check_repl --conf=/etc/masterha/app1.cnf
都无误后可以启动manager
nohup masterha_manager --conf=/etc/masterha/app1.cnf < /dev/null > /masterha/app1/manager.log 2>&1 &
7.在主备机器或从服务器上, 加入计划任务
* * * /usr/local/bin/purge_relay_logs –user=mha –password= –disable_relay_log_purge >> /masterha/purge_relay_logs.log >&
正常情况下,master主机用虚拟IP对外提供写服务。master宕掉后, master将转移到主备
配置文件: /etc/masterha/app1.cnf
[server default] user=mha password= manager_workdir=/masterha/app1 manager_log=/masterha/app1/manager.log remote_workdir=/masterha/app1 ssh_user=root repl_user=rep repl_password= ping_interval= secondary_check_script= masterha_secondary_check -s 192.168.1.130 -s 192.168.1.131 master_ip_failover_script=/usr/local/bin/master_ip_failover [server1] hostname=192.168.32.130 ssh_port= master_binlog_dir=/usr/local/mysql/data candidate_master= [server2] hostname=192.168.32.131 ssh_port= master_binlog_dir=/usr/local/mysql/data candidate_master=
;
mysql系列之8.mysql高可用 (mha4mysql)的更多相关文章
- 利用keepalive+mysql replication 实现数据库的高可用
利用keepalive+mysql replication 实现数据库的高可用 http://www.xuchanggang.cn/archives/866.html
- [转帖]【MySQL+keepalived】用keepalived实现MySQL主主模式的高可用
[MySQL+keepalived]用keepalived实现MySQL主主模式的高可用 https://www.jianshu.com/p/8694d07595bc 一.实验说明 MySQL主主模式 ...
- Mysql双主双从高可用集群的搭建且与MyCat进行整合
1.概述 老话说的好:瞻前顾后.患得患失只会让我们失败,下定决心,干就完了. 言归正传,之前我们聊了Mysql的一主一从读写分离集群的搭建,虽然一主一从或一主多从集群解决了并发读的问题,但由于主节点只 ...
- mysql mha 主从自动切换 高可用
mha(Master High Availability)目前在MySQL多服务器(超过二台),高可用方面是一个相对成熟的解决方案. 一,什么是mha,有什么特性 1. 主服务器的自动监控和故障转移 ...
- MySQL MGR+ Consul之数据库高可用方案
背景说明: 基于目前存在很多MySQL数据库单点故障,传统的MHA,PXC等方案用VIP或者DNS切换的方式可以实现.基于数据库的数据强一致性考虑,采用MGR集群,采用consul服务注册发现 ...
- 【mysql】Mgr实现数据库高可用架构
转载:https://www.cnblogs.com/luoahong/articles/8043035.html MGR简介 MySQL Group Replication(下简称:MGR)是MyS ...
- 通过keepalived搭建MySQL双主模式的高可用集群系统
1. 配置MySQL双主模式 1.修改my.cnf配置文件 默认情况下,MySQL的配置文件是/etc/my.cnf,在配置文件的[mysqld]段添加如下内容: server-id=1 log-bi ...
- 企业级-Mysql双主互备高可用负载均衡架构(基于GTID主从复制模式)(原创)
前言: 原理与思想 这里选用GTID主从复制模式Mysql主从复制模式,是为了更加确保主从复制的正确性.健康性与易配性.这里做的是两服务器A,B各有Mysql实例331 ...
- MySQL+Keepalived实现主主高可用方案
Mysql主主高可用方案 master配置 [root@master ~]# yum -y install keepalived [root@master ~]# vim /etc/keepalive ...
- MySQL双主+keepalived实现高可用实现(热备)
环境:centos6.7 最小化安装 192.168.100.152 master 主192.168.100.153 slave 从192.168.100.132 v_ip 浮动IP 配置ssh密码登 ...
随机推荐
- python 设计模式之命令模式
命令模式介绍: 在面向对象编程中,命令模式是概括所有方法信息的设计模式. 此模式对象包涵方法名,及其相关参数值. 命令模式是一个分类的观察者设计模式,在命令模式下,对象被概括为一个命令表单,此表单包涵 ...
- Eclipse 最常用的 10 组快捷键,个个牛逼!
虽然栈长我现在不怎么用 Eclipse 了,但 Eclipse 的快捷键还是忘不了的,可以说 Eclipse 的快捷键很方便,恰到好处. 今天,我大概整理了 10 组 Eclipse 我觉得比较常用的 ...
- 基于http的断点续传和多线程下载
HTTP协议的GET方法,支持只请求某个资源的某一部分: 206 Partial Content 部分内容响应: Range 请求的资源范围: Content-Range 响应的资源范围: 断点续传: ...
- Linux下创建和删除用户
在Linux下创建用户和删除用户,必须在root用户下,如果你当前不是用根用户登录,你可以打开终端,输入"su root"命令,再输入根口令,就可以进入root用户模式下,如下所示 ...
- Autolayout 03
Debugging in Code 有两个调试layout问题的阶段. 1. Map from “this view is in the wrong place” to “this constrain ...
- 【spring cloud】注解@SpringCloudApplication和@SpringBootApplication的区别
@SpringCloudApplication和@SpringBootApplication的区别
- 如何部署和运行Scut服务器及游戏:Windows篇
概述 Scut游戏引擎是一个永久免费的全脚本游戏服务器框架,采用MVC框架设计,简化数据库设计和编码工作:降低对开发人员的开发难度:同时提供了丰富的类库和API接口. 一. 安装环境 必须安装的 ...
- 用Golang写的域名信息搜集工具
blacksheepwall是一款由Go语言编写的域名信息搜集工具 ,你也可以在你的工具中将它作为一个独立软件包来使用. 下载 blacksheepwall支持跨平台,目前它所支持的系统有window ...
- Linux学习之十八-sudo分权管理
sudo分权管理 1.为什么需要sudo? 当我的主机是多人共管的环境时,如果大家都使用 su 来切换成为 root 的身份,那么就得每个人知道 root 的密码,这样密码太多人知道可能会流出去,很不 ...
- 2016.6.21 maven使用cmd新建项目时,failed to execute goal org.apache.maven.plugins:maven-archetye-plugin:2.4:generate...
在学习maven的时候,想要新建一个maven工程,在命令行执行create或generate命令. 错误如图所示: failed to execute goal org.apache.maven.p ...