千家信息网

mysql的MHA高可用配置方法

发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,下文给大家带来关于mysql的MHA高可用配置方法,感兴趣的话就一起来看看这篇文章吧,相信看完mysql的MHA高可用配置方法对大家多少有点帮助吧。第一部分 把三个节点的主从关系配好1.每个节点安装
千家信息网最后更新 2025年02月06日mysql的MHA高可用配置方法

下文给大家带来关于mysql的MHA高可用配置方法,感兴趣的话就一起来看看这篇文章吧,相信看完mysql的MHA高可用配置方法对大家多少有点帮助吧。

第一部分 把三个节点的主从关系配好
1.每个节点安装 mysql 或者 mariadb 数据库
2.配置主节点也就是写的节点 ,配置如下
vim /etc/my.cnf
在[mysqld]端添加代码

     log_bin=log_bin     #开启二进制日志,主从复制就是基于这个日志复制的   server_id=14
#ID每个节点必须唯一

3.配置从节点
vim /etc/my.cnf
在[mysqld]端添加代码

     server_id=19   relay_log=relay_log     #开启中继日志,从节点就是基于这个日志完成写入的   relay_log_index=relay_log.index

4.开启主节点,在主节点上运行 mysql -uroot -e 'show master status;'
记录下二级制日志

  1. 进入mysql 运行 grant replication slave on *.* to 'rep'@'192.168.%.%' identified by '123456';
    #创建具有复制权限的账号,账号rep,密123456,作用范围192.168.0.0
    6.进入mysql ,配置从节点的连接配置
    MariaDB [(none)]> CHANGE MASTER TO-> MASTER_HOST='192.168.0.14',-> MASTER_USER='rep',-> MASTER_PASSWORD='123456', -> MASTER_LOG_FILE='log_bin.000003',-> MASTER_LOG_POS=235; 
    配置完成运行下面两个命令启动同步slave start; ##启动同步引擎

    show slave status\G; 查看引擎状态

    画圈的两个,为yes就成功了,不为yes 检查网络状态,防火墙和selinux是否关闭,还有一个从节点一样的配置改下IP即可。
    7.做MHA实验还要关闭从云服务器的中继日志自动删除功能
    set global relay_log_purge = OFF;
    show variables like '%relay_log_purge%'

    第二部分 MHA配置
    1.现在安装
    yum install epel-release.noarch
    #先安装eprl 源
    yum install mha4mysql-manager-0.56-0.el6.noarch.rpm -y --skip-broken
    #安装控制主机
    2.新建配置文件vim /etc/mha/app1.cnf

[server default]#刚才授权的mysql管理用戶名user=rootpassword=123456manager_workdir=/mha#ssh免密钥登录的帐号名ssh_user=root#mysql复制帐号,用来在主从机之间同步二进制日志等repl_user=reprepl_password=123456#ping间隔,用来检测master是否正常ping_interval= 1
[server1]hostname=192.168.0.14port=3306[server2]candidate_master=1#设置成候选主机,即使同步的数据不是从主机当中最新的那个check_repl_delay=0#默认情况下如果一个slave落后master 100M的relay logs的话,MHA将不会选择该slave作为一个新的master,因为对于这个slave的恢复需要花费很长时间,通过设置check_repl_delay=0,MHA触发切换在选择一个新的master的时候将会忽略复制延时。hostname=192.168.0.16port=3306[server3]hostname=192.168.0.19port=3306
  1. 检查ssh连接

    #显示全部通过即可
    4.检查整个复制环境状态
    masterha_check_repl --conf=/etc/mha/app1.cnf

    5.检查软件开启状态
    masterha_check_status --conf=/etc/mha/app1.cnf
    显示"NOT_RUNNING",这代表MHA监控没有开启。执行下面的命令后台启动MHA。
    nohup masterha_manager --conf=/etc/mha/app1.cnf
    #开启mha
    自此已经完成了mha一小部分功能了,这软件过于复杂,且切换过去,主节点上线还得手动还原配置,麻烦,不如配置个双主模式,前面用个vip,备份主的平时不许写,master挂了以后顶上上去,只要配置了半同步效果应该会比mha好使。
看了以上关于mysql的MHA高可用配置方法详细内容,是否有所收获。如果想要了解更多相关,可以继续关注我们的行业资讯板块。
0