• Mysql-MHA之增加节点 测试


    1 简介

    MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。

    2 环境

    172.17.0.6

    node1

    master

    172.17.0.7

    node2

    slave1

    172.17.0.8

    node3

    slave2

    172.17.0.9

    manager

    mha-manager

    3 测试目标

    本次测试基于mha+主从复制,对现有的集群进行增加、删除节点操作。

    本文档主要记录增加、删除节点的操作。

    4 增加节点

    4.1 节点信息

    4.1.1 原有节点

    172.17.0.6

    node1

    master

    172.17.0.7

    node2

    slave1

    172.17.0.8

    node3

    slave2

    172.17.0.9

    manager

    mha-manager

    4.1.2 新增节点

    172.17.0.13

    node4

    slave3

    4.2 主从添加节点

    4.2.1 开启日志、打开gtid

    修改my.cnf配置

    [mysqld]

    datadir=/var/lib/mysql

    socket=/var/lib/mysql/mysql.sock

    server-id=4

    log-bin=mysql-bin

    gtid_mode=ON

    enforce_gtid_consistency=ON

    4.2.2 开启半同步复制

    1) 安装相关插件

    install plugin rpl_semi_sync_master soname 'semisync_master.so';

    install plugin rpl_semi_sync_slave soname 'semisync_slave.so';    

    2) 修改配置

    方法1:(重启mysql后参数失效)

    set global rpl_semi_sync_master_enabled=1;

    set global rpl_semi_sync_master_timeout=2000;

    set global rpl_semi_sync_slave_enabled=1;

    方法2:修改my.cnf文件配置(参数永久有效)

    rpl_semi_sync_master_enabled = 1

    rpl_semi_sync_master_timeout = 2000

    rpl_semi_sync_slave_enabled=1

    3) 重启mysql服务,查看修改的参数

    show global variables like '%rpl_semi%';

    4.2.3 从节点配置

    mysql> alter user root@'localhost' identified by 'Aa!123456';

    mysql> grant all privileges on *.* to root@'%' identified by 'Aa!123456';

    mysql> change master to master_host='172.17.0.6', master_user='root', master_password='Aa!123456',master_auto_position=1;

    mysql> start slave;

    mysql> show slave statusG;

    4.3 mha添加节点

    4.3.1 下载、安装mha

     https://github.com/yoshinorim/mha4mysql-node/releases/download/v0.58/mha4mysql-node-0.58-0.el7.centos.noarch.rpm

    rpm -ivh mha4mysql-node-0.58-0.el7.centos.noarch.rpm

    4.3.2 修改mha配置文件

    添加配置

    [server4]

    hostname=172.17.0.13

    port=3306

    4.3.3 配置SSH无密码验证

    1)新增节点slave3生成秘钥、公钥

    ssh-keygen -t rsa

    2)其他节点将公钥发送salve3节点

    master :ssh-copy-id root@172.17.0.13

    salve1 :ssh-copy-id root@172.17.0.13

    salve2 :ssh-copy-id root@172.17.0.13

    mha-manager :ssh-copy-id root@172.17.0.13

    3)salve3机器再将公钥发送到其他节点

    scp /root/.ssh/authorized_keys root@172.17.0.6:/root/.ssh

    scp /root/.ssh/authorized_keys root@172.17.0.7:/root/.ssh

    scp /root/.ssh/authorized_keys root@172.17.0.8:/root/.ssh

    scp /root/.ssh/authorized_keys root@172.17.0.9:/root/.ssh

    4)测试

    masterha_check_ssh --conf=/etc/mhamanger/app.conf

    4.3.4 节点检测

    masterha_check_repl --conf=/etc/mhamanger/app.conf

    4.4 重启mha服务

    4.4.1 停止

    masterha_stop --conf=/etc/mhamanger/app.conf

    4.4.2 启动

    nohup masterha_manager --conf=/etc/mhamanger/app.conf  >/etc/mhamanger/mha.log 2>&1 &

  • 相关阅读:
    Postman-插入断言
    浅谈如何提高自动化测试的稳定性和可维护性 (pytest&allure)
    pytest+allure+jenkins-持续集成平台生成allure报告
    pytest简介及入门
    allure描述用例详细讲解
    allure标记用例级别severity
    allure-pytest 功能用例与自动化用例完美对接
    allure-pytest 环境准备和初步运行
    selenium常用操作之上传操作
    selenium常用操作之JS处理日历控件
  • 原文地址:https://www.cnblogs.com/jiayan666/p/14285042.html
Copyright © 2020-2023  润新知