环境
- 所需环境:两台装有MySQL的服务器,
环境:VIP 192.168.92.222
mysql-1 : 192.168.92.130 keepalived-master
mysql-2 : 192.168.92.134 keepalived-salve - 如果想要安装数据库,请点击MySQL yum 安装或MySQL 编译安装
mysql的主主同步(M—M)
mysql-1:
- 修改配置文件
vim /etc/my.cnf
[validate_password=off] //关闭密码安全机制
log-bin= my1log
server-id= 1
gtid_mode=ON //开启gtid
enforce_gtid_consistency=1
- 重新启动服务:
systemctl restart mysqld
- 创建授权账户:
grant all on *.* to 'slave'@'%' identified by 'NEW-password';
mysql-2:
- 修改配置文件
vim /etc/my.cnf
log-bin = my2log
server-id = 2
gtid_mode=ON
enforce_gtid_consistency=1
- 创建授权账户:
grant all on *.* to 'slave'@'%' identified by '123';
- 配置主主复制
> help change master to 查找配置文件
>edit
change master to
master_host='fuye3',
master_user='slave',
master_password='NEW-password123',
master_auto_position=1;
>start slave;
>show slave status\G
mysql-2上也要创建一样的授权用户,在mysql-1上进行change master to 的操作
注意
mysql-1:
>edit
change master to
master_host='主机名',
master_user='授权用户',
master_password='授权密码',
master_auto_position=1;
>start slave;
>show slave status\G
配置keepalived(两台服务器都要安装)
- 安装keepalived
yum -y install keepalived
- 将原有的配置文件备份或删除,创建新的配置文件
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id directory1
}
vrrp_script check_run {
script "/etc/keepalived/keepalived_chech_mysql.sh"
interval 5
}
vrrp_instance VI_1 {
state MASTER #备 BACKUP
interface ens33
virtual_router_id 89
priority 100 #备 小于100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.92.222/24 #VIP
}
track_script {
check_run
}
real_server 192.168.92.130 80 { # IP
weight 1
inhibit_on_failure
TCP_CHECK {
connect_timeout 3
connect_port 80
}
}
}
- 添加脚本
vim /etc/keepalived/keepalived_chech_mysql.sh
#!/bin/bash
/usr/bin/mysql -uroot -p'NEW-password123' -e "show status" &>/dev/null
if [ $? -ne 0 ] ;then
# service keepalived stop
systemctl stop keepalived
fi
- 重新启动keepalived
systemctl start keepalived
检测
- 查看IP
mysql-1
mysql-2
- 关闭mysql-1的keepalived
systemctl stop keepalived
mysql-1
mysql-2
- 重新启动mysql-1的keepalived
systemctl start keepalived
mysql-1
mysql-2
客户端远程登录
mysql -u`slave` -p`NEW-password123` -h192.168.92.222