一,环境准备
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 &