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 &





原文地址:https://www.cnblogs.com/liujianxin/p/10073686.html