Mysql实现MHA高可用
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,环境:CentOS7.4 x 4mha4mysql-manager x 1mha4mysql-node x 3node节点搭建一主双从mha4mysql代码托管:https://code.google
千家信息网最后更新 2026年11月01日Mysql实现MHA高可用
- 环境:
- CentOS7.4 x 4
- mha4mysql-manager x 1
- mha4mysql-node x 3
- node节点搭建一主双从
mha4mysql代码托管:https://code.google.com/archive/p/mysql-master-ha/
一、配置MHA:
1、配置所有主机(包括Manager主机在内),实现ssh-key可以相互登陆
- 当配置文件中的ssh_user为非root用户时:
(1)需要手动创建node节点主机的文件夹,并授权node主机remote_workdir目录的权限给ssh_user用户(2)添加用户为MySQL同组用户,使其有读取mysql binary/relay log文件和relay_log.info文件的权限(3)授权Mysql日志目录的写权限
- 当配置文件中的ssh_user为非root用户时:
2、配置MHA的配置文件,并且安装mha4mysql-manager、 mha4mysql-node
(1)创建并修改配置文件/etc/mastermha/app1.cnf
#配置文件可以放在任意路径下,因为后面命令调用配置文件时需要写出完整路径。[server default]user=mhauser #mysql用户password=centos #mysql用户密码manager_workdir=/data/mastermha/app1/ #Manager主机的工作目录manager_log=/data/mastermha/app1/manager.log #Manager主机的日志remote_workdir=/data/mastermha/app1/ #nodo主机的工作目录ssh_user=root #远程Linux主机系统用户repl_user=repluser #主从复制时使用的mysql用户repl_password=centos #主从复制时使用的mysql密码ping_interval=1 #健康检查间隔时间,单位为秒[server1]hostname=192.168.1.4 #mysql主机IPcandidate_master=1 #是否为备用主库[server2]hostname=192.168.1.6candidate_master=1 #是否为备用主库[server3]hostname=192.168.1.8
- (2)安装mha4mysql-manager、 mha4mysql-node
#事先下载好manager和node,并且版本要一致!!!使用yum安装,需要启用epel源。yum install mha4mysql-manager-0.55-0.el6.noarch.rpm mha4mysql-node-0.55-0.el6.noarch.rpm二、主库配置
(1)修改mysql配置文件
vi /etc/my.cnf[mysqld]log-binserver_id=1innodb_file_per_tableskip_name_resolve=1
- (2)安装mha4mysql-node
yum install mha4mysql-node-0.55-0.el6.noarch.rpm - (3)创建mysql用户;主从同步需要一个用户,MHA需要一个用户。
#MHA切换主库时需要修改Mysql运行时的全局变量,所以需要给所有权限,建议限制用户的登陆IP为特定主机。 mysql>show master logs; mysql>grant replication slave on *.* to 'repluser'@'192.168.1.%' identified by 'centos'; mysql>grant all on *.* to 'mhauser'@'192.168.1.%' identified by 'centos';三、从库1(备用主库)配置:
- (1)修改配置文件
[mysqld]server_id=2 #备用主库需要启用二进制日志!!!log-bin #备用主库需要启用二进制日志!!!read_only #备用主库需要启用二进制日志!!!relay_log_purge=0skip_name_resolve=1 #禁止名字解析innodb_file_per_table
- (2)安装mha4mysql-node
yum install mha4mysql-node-0.55-0.el6.noarch.rpm - (3)设置主从同步
mysql>CHANGE MASTER TO MASTER_HOST='192.168.1.4', MASTER_USER='repluser', MASTER_PASSWORD='centos', MASTER_LOG_FILE='mariadb-bin.000001', MASTER_LOG_POS=245;
- (1)修改配置文件
四、从库2配置:
- (1)修改配置文件
[mysqld]server_id=3read_onlyrelay_log_purge=0skip_name_resolve=1 #禁止名字解析innodb_file_per_table - (2)安装mha4mysql-node
yum install mha4mysql-node-0.55-0.el6.noarch.rpm - (3)设置主从同步
mysql>CHANGE MASTER TO MASTER_HOST='192.168.1.4', MASTER_USER='repluser', MASTER_PASSWORD='centos', MASTER_LOG_FILE='mariadb-bin.000001', MASTER_LOG_POS=245;
- (1)修改配置文件
五、检查并启用MHA
- (1)检查SSH连接
masterha_check_ssh --conf=/etc/mastermha/app1.cnf
- (2)检查node节点
masterha_check_repl --conf=/etc/mastermha/app1.cnf- (1)检查SSH连接
(3)启动脚本,当检测到主库无法连接就会退出,并提升从库为主库。
masterha_manager --conf=/etc/mastermha/app1.cnf- 错误日志:/data/mastermha/app1/manager.log
- 当MHA短时间内频繁的切换主库时,可能会报错,删除/data/mastermha/app1/app1.failover.complete即可!
配置
用户
文件
主机
日志
备用
主从
权限
目录
检查
二进制
节点
同步
名字
密码
时间
路径
切换
工作
登陆
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中关村互联网科技集团
涨乐互联网科技
广州互联网科技公司
杭州互联网科技公司
互联网科技公司有哪些
四川狮子座互联网科技
福州新华互联网科技学校 知乎
金融科技与互联网金融相同和不同
新兴科技互联网创新大赛颁奖典礼
成都互联网科技公司工作好不好
坤平互联网科技
南博望互联网科技有限公司
伊宁互联网科技做什么的
国大互联网教育科技有限公司薪资
领航科技大厦互联网公司
普陀区互联网教育科技管理办法
兰石爱特工业互联网科技分公司
福仕德教育科技互联网
互联网科技品牌
银川新华互联网科技学校招聘
互联网属科技
互联网科技视频
唐信互联网科技 大连
兼蜜互联网科技
火传媒上海互联网科技
哈尔滨秒房互联网科技有限公司
以后互联网后是啥科技
科技类公司包括互联网吗
宁波跨境商互联网科技有限公司
每日互联网科技新闻