MySQL配置MHA总结
MHA主要是为了解决msater只有一台,若master出现故障时就使用MHA解决单点故障问题。
组件:
MHA Manager (管理节点)
可以借助于node组件,实现健康检查(ssh、主从复制)、控制故障切换
MHA Node 组件(数据节点):
部署在所有MySQL服务器内;主要作用:
定时汇报给主manager节点,mysql服务的状态
监控本地mysql服务功能
一、搭建思路:
搭建思路:
首先,以架构而言分为两个部分。
1、MySQL主从复制;
—>master:开启二进制日志、允许从同步、server_id(与其他mysql服务器的server_id不能相同)
server:开启二进制日志,开启中继日志、server_id、relay_log位置索引。
安装数据库的过程中(指定的文件目录需要和后期MHA的app1.cnf的配置要对应的上,最直观的:master_binlog_dir=(初始化过程中定义的数据目录位置))
进入数据库授权:(所有数据库都做)
—>1、grant rep slave ‘myslave’(考虑到MHA有故障切换机制,从->主)
2、grant ‘mha’
3、grant 分别对MySQL数据库集群中三台服务器的主机名进行了授权(实验环境)
主:
show master status;
从:
change master to (pos、bin-log-file、密码)别写错
start slave;
show slave status\G (怎么检查主从同步状态)
MHA:
1、所有服务器做ssh免交互;
2、所有服务器安装MHA组件:
node组件—所有节点全装
manager组件—manager节点装,先装node,存在依赖
3、调整配置文件:
以上的组件安装完成后,会在/usr/local/bin 目录下产生MHA相关功能的控制脚本。
核心点:修改2个配置文件
二、具体配置步骤:
①:首选需要三台服务器配置主从复制
②:所有服务器上的数据库提权,针对四个用户(myslave、mha、master、slave1、slave2)
③:所有服务器配置ssh免密认证
④:在mysql服务器上设置监控用户
⑤:修改manager的配置文件master_ip_failover和app1.cnf
⑥:在MHA上测试免密和主从服务
⑦:后台启动MHA
⑧:验证(模拟master宕机,查看master的变化)