数据库架构:一主两从
master:192.168.8.57
slave1:192.168.8.58
slave2:192.168.8.59
manager:192.168.8.60
MHA工具包:
mha4mysql-manager-0.58.tar.gz
mha4mysql-node-0.58.tar.gz
keepalived-1.4.5.tar.gz
一、主从复制环境和MHA安装如下
二、配置MHA相关文件
master_ip_failover
my $vip = '192.168.8.88/24';
my $key = '1';
my $ssh_start_vip = "systemctl start keepalived";
my $ssh_stop_vip = "systemctl stop keepalived";
master_ip_online_change
my $vip = '192.168.8.88/24';
my $key = '1';
my $ssh_start_vip = "systemctl start keepalived";
my $ssh_stop_vip = "systemctl stop keepalived";
my $orig_master_ssh_port = 22;
my $new_master_ssh_port = 22;
my $ssh_user = "root";
my $new_master_password='mysql';
my $orig_master_password='mysql';
三、添加非本机 IP 邦定支持
echo "net.ipv4.ip_nonlocal_bind=1" >> /etc/sysctl.conf
sysctl -p
四、安装配置keepalived
mount /dev/cdrom /mnt
yum install kernel-devel openssl-devel popt-devel -y
tar zxvf keepalived-1.4.5.tar.gz
cd keepalived-1.4.5
./configure --prefix=/usr/local/keepalived/
make && make install
设置 keepalived 开机自动启动
systemctl enable keepalived
配置keepalived
192.168.8.57
mkdir /etc/keepalived
# vi /etc/keepalived/keepalived.conf
! Configuration file for keepalived
global_defs {
notification_email {
zdd5503@163.com
}
router_id 8.57
notification_email_from zdd5503@163.com
smtp_server stmp.163.com
smtp_connect_timeout 30
}
vrrp_instance v_mysql {
state BACKUP
interface enp0s3
virtual_router_id 200
priority 100
advert_int 1
nopreempt
authentication {
auth_type PASS
auth_pass mysql
}
virtual_ipaddress {
192.168.8.88/24