zoukankan      html  css  js  c++  java
  • Mha-Atlas-MySQL高可用

    一,环境准备

    1.2 软件包

    1) mha管理节点安装包:

    mha4mysql-manager-0.56-0.el6.noarch.rpm

    mha4mysql-manager-0.56.tar.gz

    2) mha node节点安装包:

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

    mha4mysql-node-0.56.tar.gz

    3) mysql中间件:

    Atlas-2.2.1.el6.x86_64.rpm

    4) mysql源码安装包

    mysql-5.6.17-linux-glibc2.5-x86_64.tar

    1.3 主机名映射

    1.4 关闭selinux和iptables

    1.5安装包准备

    3.2.2 安装(3台都装)

    [root@mysql-db01 ~]# yum -y install ncurses-devel
    [root@mysql-db01 ~]# yum -y install libaio
    [root@mysql-db01 ~]# tar xf mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
    [root@mysql-db01 ~]# ln -s /usr/local/mysql-5.6.17-linux-glibc2.5-x86_64 /usr/local/mysql
    [root@mysql-db01 ~]# useradd mysql -s /sbin/nologin -M
    [root@mysql-db01 ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
    [root@mysql-db01 ~]# /bin/cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
    [root@mysql-db01 ~]# /bin/cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    [root@mysql-db01 ~]# ln -s /usr/local/mysql/bin/* /usr/local/bin/
    [root@mysql-db01 ~]# which mysqladmin
    /usr/local/bin/mysqladmin

    3.2.3 加入开机自启动并启动mysql

    四,配置基于GTID的主从复制 
    4.1 先决条件

    主库和从库都要开启binlog
    主库和从库server-id不同
    要有主从复制用户

    4.2 主库操作(mysql-db01) 
    4.2.1 修改配置文件


    创建主从复制用户

    4.3 从库操作(mysql-db02和mysql-db03) 
    4.3.1 修改配置文件

    开启GTID

    编辑mysql配置文件(主库从库都需要修改)

    修改完配置文件以后重启动数据库

    主库从库都必须要开启GTID,否则在做主从复制的时候就会报错.

    4.5 配置主从复制(mysql-db02,mysql-db03)

    4.6 开启从库的主从复制功能(mysql-db02,mysql-db03)

    4.10 从库设置(mysql-db02,mysql-db03)

    五,部署MHA 
    5.1 环境准备(所有节点mysql-db01,mysql-db02,mysql-db03)

    #光盘安装依赖包yum -y install perl-DBD-MySQL
    创建mha账户

    5.2 部署管理节点(mha-manager) 
    5.2.1 在mysql-db03上部署管理节点

    #使用阿里云源+epel源
    yum -y install wget wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo wget -O /etc/yum.repos.d/epel-6.repo http://mirrors.aliyun.com/repo/epel-6.repo
    yum -y clean all
    yum makecache

    #安装manager依赖包(需要公网源) [root@mysql-db03 ~]# yum -y install perl-Config-Tiny epel-release perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes #安装manager包 [root@mysql-db03 rpm]# rpm -ivh mha4mysql-manager-0.56-0.el6.noarch.rpm

    5.2.2 编辑配置文件

    #**特别提示:**
    #以上配置文件内容里每行的最后不要留有空格,因此,不能复制的呦
    
    特别说明:
    参数:candidate_master=1
    解释:设置为候选master,如果设置该参数以后,发生主从切换以后会将此从库提升为主库,即使这个主库不是集群中事件最新的slave
    参数:check_repl_delay=0
    解释:默认情况下如果一个slave落后master 100M的relay logs 的话,MHA将不会选择该slave作为一个新的master,因为对于这个slave的恢复需要花费很长时间,通过设置check_repl_delay=0,MHA触发切换在选择一个新的master的时候将会忽略复制延时,这个参数对于设置了candidate_master=1的主机非常有用,因为这个候选主在切换的过程中一定是新的master

    5.3 配置ssh信任(所有节点mysql-db01,mysql-db02,mysql-db03)

    #创建密钥对
    所有节点都发密钥

    5.4 启动测试 
    5.4.1 ssh检查检测

    5.5 启动MHA

    nohup masterha_manager --conf=/etc/mha/mha1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/mha/mha1/manager.log 2>&1 &
    


    
    
    
    
    
  • 相关阅读:
    C++随笔
    STM32调试总结
    摄像头CMOS和CCD的比较
    modelsim 中 WAVE窗口中能不能只显示变量名,而不显示路径
    modelsim仿真xilinx mig ip core相关问题
    modelsim仿真vivado自动化脚本
    modelsim无法识别include文件的解决方法
    UVM的类库
    uvm
    uvm
  • 原文地址:https://www.cnblogs.com/liujianxin/p/10073686.html
Copyright © 2011-2022 走看看