mysql一主二从MHA高可用搭建

环境:4台centos7(虚拟机),安装mysql5.6

一、配置文件配置

主服务1:master,配置mysql数据库/etc/my.cnf文件

在[mysqld]下配置

[mysqld]
#服务名称
server-id=1
#需要备份的数据库
binlog-do-db=test
#不需要备份的数据库
binlog-ignore-db=mysql
#二进制日志格式
binlog_format=mixed
#二进制日志名
log-bin=master-bin
#半同步复制
rpl_semi_sync_master_enabled=1
rpl_semi_sync_master_timeout=1000

从服务:slave1,slave2,配置mysql数据库/etc/my.cnf文件

在[mysqld]下配置

[mysqld]

#服务名称
server-id=2
#需要备份的数据库
binlog-do-db=test
#不需要备份的数据库
binlog-ignore-db=mysql
#二进制日志格式
binlog_format=mixed
#二进制日志名
log-bin=slave1-bin
#  relay_log 配置中继日志
relay_log=slave-relay-bin
#  log_slave_updates 表示 slave 将复制事件写进自己的二进制日志
log_slave_updates=1
# 防止改变数据(除了特殊的线程)
read_only=1
#半同步
rpl_semi_sync_slave_enabled=1

MHA配置

在/etc/masterha下创建app.cnf

[server default]
manager_log=/etc/masterha/manager.log
manager_workdir=/etc/masterha/app1
password=123
ping_interval=1
remote_workdir=/mydata/masterha/app1
repl_password=123
repl_user=root
ssh_user=root
user=root

[server2]
candidate_master=1
hostname=10.211.55.9
ssh_port=22

[server3]
candidate_master=1
hostname=10.211.55.10
ssh_port=22
 

二、mysql参数设置

主服务master数据库执行

  1. grant replication slave on *.* to 'root'@'从服务ip' identified by '123';(多个执行多次)
  2. grant all on *.* to 'root'@'10.211.55.%' identified by '123';(授权)
  3. flush  privileges;(刷新授权)
  4. install plugin rpl_semi_sync_master soname 'semisync_master.so';(安装半同步插件)
  5. set global rpl_semi_sync_master_timeout=1000;(设置半同步超时)
  6. set global rpl_semi_sync_master_enabled=1;(开启半同步)
  7. show variables like '%semi%';(查看半同步状态)
  8. show  master  status;(查看主服务状态)

从服务slave1,slave2数据库执行

  1. CHANGE MASTER TO MASTER_HOST='10.211.55.8',master_user='root',master_password='123',master_port=3306,master_log_file='主服务状态中file字段',master_log_pos=主服务状态中position字段,master_connect_retry=30;
  2. install plugin rpl_semi_sync_slave soname 'semisync_slave.so';(安装半同步插件)
  3. set global rpl_semi_sync_slave_enabled=1;(开启半同步)
  4. show variables like '%semi%';(查看半同步)
  5. start slave;(开启)

三、MHA安装

 

manger服务中执行

yum install epel-release

yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL

yum install perl-Log-Dispatch

yum install perl-Parallel-ForkManager

rpm -ivh  mha4mysql-node-0.56-0.el6.noarch.rpm  (不能安装在我博客的下载里面下载文件后安装)

rpm -ivh mha4mysql-manager-0.56-0.el6.noarch.rpm (不能安装在我博客的下载里面下载文件后安装)

其他服务执行

rpm -ivh  mha4mysql-node-0.56-0.el6.noarch.rpm

四、配置ssh面登录

  1. ssh-keygen -t rsa(不要输入密码,直接回车)
  2. scp ~/.ssh/authorized_keys root@manager:~/.ssh/  (将公钥复制到manager服务器中)
  3. scp .ssh/authorized_keys root@其他服务:~/.ssh/ (将authorized_keys复制到其他服务器中)

五、启动

masterha_check_ssh -conf=/etc/masterha/app.cnf (检查配置是否能连接)

masterha_check_repl -conf=/etc/masterha/app.cnf (检查主备功能)

nohup masterha_manager --conf=/etc/masterha/app.cnf > /tmp/mha_manager.log  < /dev/null 2>&1 &  (开启MHA)

masterha_check_status --conf=/etc/masterha/app.cnf  (查看状态)

masterha_stop --conf=/etc/masterha/app.cnf (关闭)m  asterha/app.cnfnf=/etc/masterha/app.cnfmasterha_check_ssh -conf=/etc/masterha/app.cnfmasterha_check_ssh -conf=/etc/masterha/app.cnf

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值