mysql高可用方案-aim.sh+mha+MySQL

aim.sh配置一主两从

aim.sh(http://aim.sh) 支持 CentOS 6\7 系列的MySQL 5.6\7.x 二进制包自动安装,并且支持自动配置Slave。

github下载地址:

https://github.com/aimdotsh/aim wget -O aim-master.zip https://github.com/aimdotsh/aim/archive/master.zip

 

解压 aim-master.zip , 下载mysql免安装版本文件: mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

拷贝至 aim-master/media/

 

1、安装主库10.255.30.255(master)

修改配置文件vim etc/config

 

verdir=$(echo $ver|awk -F"." '{print $1"."$2}')
verif7=$(echo $ver|awk -F"." '{print $2}')
slave=0 #是否为Slave库,0 为否, 1 为是
masterip=10.255.30.155 #MySQL主库 IP
masterport=3306 #手动指定 MySQL主库 的端口号,仅slave=1有效
mastersocket=/data/mysql_data/data_3306/mysql.sock #手动指定 MySQL主库 的 sock 文件,仅slave=1有效
slaveip=10.255.30.154 #MySQL Slave 库 IP,仅slave=1有效
ssl_user=root #为了方便配置主从服务器,配置Slave和Master服务器之间免登录的 OS 用户名,通常为root,仅slave=1有效
ssl_passwd='gwm@root.890.' # ssl_user 对应的 OS 密码,仅slave=1有效
PRE_BASEDIR=/data/mysql #MySQL安装的目录
PRE_LOGDIR=/log/mysql_log #MySQL日志目录
PRE_DATADIR=/data/mysql_data # #MySQL数据目录
BASEDIR=$PRE_BASEDIR/mysql${verdir} #MySQL安装的目录带版本号,eg mysql5.6/5.7
DATADIR=${PRE_DATADIR}/data_${PORT} #MySQL数据目录带端口号
MYSQL_DATADIR=$DATADIR
MYSQL_HOME=$BASEDIR
TMPDIR=${PRE_DATADIR}/tmp_${PORT} #MySQL tmp 目录带端口号
LOGDIR=${PRE_LOGDIR}/log_${PORT} #MySQL 日志目录带端口号

执行安装

./aim.sh -v 5.7.28 -p 3306 

2、安装从库 10.255.30.154

修改配置文件 vim etc/config

...
slave=1
masterip=10.255.30.155
masterport=3306
mastersocket=/data/mysql_data/data_3306/mysql.sock
slaveip=10.255.30.154
ssl_user=root
ssl_passwd='gwm@root.890.'
.....

执行安装

./aim.sh -v 5.7.28 -p 3306

 

3、安装从库10.255.30.153

修改配置文件 vim etc/config

...
slave=1
masterip=10.255.30.155
masterport=3306
mastersocket=/data/mysql_data/data_5718/mysql.sock
slaveip=10.255.30.153
ssl_user=root
ssl_passwd='gwm@root.890.'
...

执行安装

./aim.sh -v 5.7.28 -p 3306

 

4、设置主从(登录三台MySQL,然后执行)

 

CHANGE MASTER TO MASTER_HOST='10.255.30.155', MASTER_USER='repl',MASTER_PASSWORD='password';

154,153 分别执行

start slave; 

至此,MySQL一主两从配置完毕。

参考URL

https://www.jianshu.com/p/cfd9bfd6e7f2

说明:

本地连接MySQL

mysql -paim.sh --socket=/data/mysql_data/data_3306/mysql.sock

mysql aim.sh

配置环境变量

export PATH=$PATH:/data/mysql/mysql5.7/bin

重装时需要删除目录

sudo rm -r /data/mysql*

查询从节点状态

show slave status\G

需要添加同步账号(主节点master登录mysql执行)

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* to 'repl'@'%' identified by 'password';

5、mha 安装

MySQL主从架构搭建好之后,安装mha

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

下载地址 :https://github.com/yoshinorim/mha4mysql-node/releases/tag/v0.58

mha4mysql-manager-0.58-0.el7.centos.noarch.rpm

下载地址:https://github.com/yoshinorim/mha4mysql-manager/releases/tag/v0.58

每个节点安装如下脚本:

yum install -y perl-DBD-MySQL
yum install -y perl-Config-Tiny
yum install -y perl-Log-Dispatch
yum install -y perl-Parallel-ForkManager
rpm -ivh mha4mysql-node-0.58-0.el7.centos.noarch.rpm
rpm -ivh mha4mysql-manager-0.58-0.el7.centos.noarch.rpm

在153 slave 节点上编辑配置文件

vim /etc/mha/mha.cnf

[server default]
manager_log=/data/mha/app1/manager.log
manager_workdir=/data/mha/app1/
master_binlog_dir=/log/mysql_log/log_3306/bin_log/
master_ip_failover_script=/etc/mha/master_ip_failover
password=123456
ping_interval=1
remote_workdir=/data/mastermha/app1/
repl_password=password
repl_user=repl
secondary_check_script=masterha_secondary_check -s 10.255.30.154 -s 10.255.30.155
ssh_user=root
user=mha
[server1]
candidate_master=1
hostname=10.255.30.155
[server2]
candidate_master=1
hostname=10.255.30.154
[server3]
hostname=10.255.30.153
no_master=1

 

添加软连接

ln -s /data/mysql/mysql5.7/bin/mysqlbinlog /usr/local/bin/mysqlbinlog ln -s /data/mysql/mysql5.7/bin/mysql /usr/local/bin/mysql

赋权限

chmod +x /usr/local/bin/master_ip_failover

启动MHA

nohup masterha_manager -conf=/etc/mha/mha.cnf &> /etc/mha/manager.log &

停止MHA

masterha_stop -conf=/etc/mha_master/mha.cnf

查看mha 状态

masterha_check_status -conf=/etc/mha/mha.cnf

vip绑定:

ip addr add 10.255.30.202/24 brd 10.255.30.255 dev ens160 label ens160:1 # /usr/sbin/arping -q -A -c 1 -I ens160 10.255.30.202

vip解绑:

 ip addr del 10.255.30.202/24 dev ens160 label ens160:1

参考

http://blog.itpub.net/31480688/viewspace-2214323/

https://blog.csdn.net/Anubis000000/article/details/94335274

https://www.cnblogs.com/keerya/p/7883766.html#_label0

https://www.cnblogs.com/elontian/p/10095199.html

 

 

说明

ssh 测试

masterha_check_ssh -conf=/etc/mha/mha.cnf

 

mysql 复制集群情况监测

masterha_check_repl -conf=/etc/mha/mha.cnf

 

恢复节点

CHANGE MASTER TO MASTER_HOST='10.255.30.154', MASTER_USER='repl',MASTER_PASSWORD='password'; start slave;

 

删除dead master 启动方式

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

 

惠惠街 每天千款优惠劵秒杀

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值