配置要求:
①各个节点之间需通过主机名可互相通信(此实现简单自行查找资料解决)
②在MHA上需安装mha4mysql-manager及其mha4mysql-node两管理软件
③需手动创建配置文件目录及书写配置文件
三、MHA实战配置
配置各mysql并启动服务:
node2:mysql master配置如下:
编辑/etc/my.cnf
innodb_file_per_table = 1
skip_name_resolve = 1
log-bin = master-bin
relay-log = relay-bin
server-id = 1
启动服务执行如下操作:
systemctl start mariadb.service
授权一个有所有权限的账号:
grant all on *.* to 'mhauser'@'10.1.10.%' identified by 'cncn'
授权一个有复制功能的账号:
grant replication slave,replication client on *.* to 'repluser'@'10.1.10.%' identified by 'cncn'
flush privileges;
node3:mysql slave1
编辑/etc/my.cnf配置文件;
innodb_file_per_table = 1
skip_name_resolve = 1
log-bin = master-bin
relay-log = relay-bin
server-id = 3
read-only = 1
relay-log-purge = 0
启动服务执行如下操作:
systemctl start mariadb.service
change master to MASTER_HOST='10.1.10.66',MASTER_USER='repluser',MASTER_PASSWORD='cncn',MASTER_LOG_FILE='master-bin.000001',MASTER_LOG_POS=245;
start slave
node4:mysql slave2
编辑/etc/my.cnf配置文件;
innodb_file_per_table = 1
skip_name_resolve = 1
log-bin = master-bin
relay-log = relay-bin
server-id = 4
read-only = 1
relay-log-purge = 0
启动服务执行如下操作:
systemctl start mariadb.service
change master to MASTER_HOST='10.1.10.66',MASTER_USER='repluser',MASTER_PASSWORD='cncn',MASTER_LOG_FILE='master-bin.000001',MASTER_LOG_POS=245;
start slave;
手动创建mha目录及其创建配置文件
mkdir /etc/masterha
vim /etc/masterha/app1.conf
[server default]
user=mhauser
password=cncn
manager_workdir=/data/masterha/app1
manager_log=/data/masterha/app1/manager.log
remote_workdir=/data/masterha/app1
ssh_user=root
repl_user=repluser
repl_password=cncn
ping_interval=1
[server1]
hostname=10.1.10.66
candidate_master=1
[server2]
hostname=10.1.10.67
candidate_master=1
[server3]
hostname=10.1.10.68
检测各个节点是否可相互通信及各个节点的健康状态信息是否ok
启动集群管理,让其后台运行即可,调试阶段可让其在前台运行
[root@node1 ~]# masterha_manager --conf=/etc/masterha/app1.conf
Fri Nov 25 22:15:37 2016 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln280] Configuration file /etc/masterha/app1.conf not found!
Fri Nov 25 22:15:37 2016 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln424] Error happened on checking configurations. at /usr/bin/masterha_manager line 50.
Fri Nov 25 22:15:37 2016 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln523] Error happened on monitoring servers.
Fri Nov 25 22:15:37 2016 - [info] Got exit code 1 (Not master dead).
[root@node1 ~]# masterha_manager --conf=/etc/mastermha/app1.conf
Fri Nov 25 22:16:40 2016 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
Fri Nov 25 22:16:40 2016 - [info] Reading application default configuration from /etc/mastermha/app1.conf..
Fri Nov 25 22:16:40 2016 - [info] Reading server configuration from /etc/mastermha/app1.conf..
总结:
大家可模拟测试,模拟节点故障,查看主节点是否迁移,及上线新的节点,查看其运行状态信息是否正常?高可用MHA在实际生产中可大大减少平均无故障时间,提高数据库的可用性,对敏感类的数据来说不建议结合脚本自动修复故障节点,手动往往相对来说比较安全。
作者:小耳朵
来源:http://purify.blog.51cto.com/10572011/1877193
优质内容筛选与推荐 >>
1、《贞观政要》 2、自定义Form 移动标题栏控件 3、Node.js学习 4、asp.net core 系列 20 EF基于数据模型创建数据库 5、IntelliJ IDEA 2016.2 配置Tomcat 运行Web项目
长按二维码向我转账
受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。
阅读
好看
已推荐到看一看
你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
取消
分享想法到看一看
确定
最多200字,当前共 字