Mysql实现MHA高可用
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,环境:CentOS7.4 x 4mha4mysql-manager x 1mha4mysql-node x 3node节点搭建一主双从mha4mysql代码托管:https://code.google
千家信息网最后更新 2025年01月22日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安全错误
数据库的锁怎样保障安全
派出所信息网络安全简报
证券期货网络安全
我的世界租用服务器多少钱
服务器可以和粉丝一起用吗
软件开发专业学的课程
数据库密码和连接
ps4无法连接到服务器已确认
网络安全教育黑
游戏数据库的搭建
访问服务器uri格式错误
中国电子网络安全大会
选择mysql数据库
信息网络安全专业的学校
大服务器的作用包括
敏捷软件开发书推荐知乎
access数据库程序设计是什么
阳信县小算盘互联网科技中心
货拉拉数据库的结构设计图
数据库全文检索技术
华捷服务器
传感器网络技术通信技术
近年来全球网络安全事件
南京速通网络技术有限公司
服务器普通话软件教师端连接不上
大专网络技术专业难找工作吗
安卓软件开发计算器
厦门理工图书馆数据库怎么使用
宁波软件开发大概要多少钱
软件开发农民工
软件开发属于什么纳税范围