MySQL双主复制

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS Agent(兼容OpenClaw),2核4GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: MySQL双主复制

屏幕截图 2023-08-28 195743.png

1.双主复制:实现和MHA相同的效果

   使用keepalive实现双主热备,防止单点故障的主从结构。

   两台mysql互做主从,各自安装keepalive实现热备,其他从服务器和热备的虚拟IP建立主从连接。

2.开启两台mysql,互相建立主从

在第一台mysql创建复制用户

mysql1:

grant replication slave on *.* to repl@'192.168.8.%' identified by '123';

在第二台mysql建立和第一台的主从关系

mysql2:
change master to
master_host='192.168.8.10',
master_user='repl',
master_port=3306,
master_password='123' ,
MASTER_AUTO_POSITION=1;
start slave;

在第一台mysql再建立和第二台的主从关系

mysql1:
change master to
master_host='192.168.8.20',
master_user='repl',
master_port=3306,
master_password='123' ,
MASTER_AUTO_POSITION=1;
start slave;
mysql1、mysql2:
show slave status \G

3.两台服务器安装keepalived

yum -y install keepalived

4.配置mysql1的keepalived

vim /etc/keepalived/keepalived.conf

修改为:

global_defs {
   router_id mysql1
}
vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.8.254
    }
}
virtual_server 192.168.8.254 3306 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    persistence_timeout 50
    protocol TCP
    real_server 192.168.8.10 3306 {
        weight 1
        TCP_CHECK {
                connect_port 3306
                connect_timeout 3
                retry 3
                delay_before_retry 3
}
}
}

保存退出

启动:systemctl start keepalived

5.配置mysql2的keepalived

vim /etc/keepalived/keepalived.conf

修改为:

global_defs {
   router_id mysql2
}
vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.8.254
    }
}
virtual_server 192.168.8.254 3306 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    persistence_timeout 50
    protocol TCP
    real_server 192.168.8.20 3306 {
        weight 1
        TCP_CHECK {
                connect_port 3306
                connect_timeout 3
                retry 3
                delay_before_retry 3
}
}
}
保存退出
启动:systemctl start keepalived

6.两台服务器查看虚拟IP

ip a show dev ens33

7.开启第三台mysql,与虚拟IP建立主从

mysql3:
change master to
master_host='192.168.8.254',
master_user='repl',
master_port=3306,
master_password='123' ,
MASTER_AUTO_POSITION=1;
start slave;
show slave status \G

注:其他主机ping 192.168.8.254可能会不通,第三个从服务器也无法建立主从;

   keepalived切换几遍,再尝试ping。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
关系型数据库 MySQL Shell
MySQL高可用之双主+Keepalived,轻松实现单点故障VIP转移
MySQL高可用之双主+Keepalived,轻松实现单点故障VIP转移
2760 0
MySQL高可用之双主+Keepalived,轻松实现单点故障VIP转移
|
关系型数据库 MySQL 数据库
MySQL集群 双主架构(配置命令)
MySQL集群 双主架构(配置命令)
439 1
|
负载均衡 网络协议 关系型数据库
rhel 8.7 部署 keepalived+haproxy 实现 mysql 双主高可用场景 2
rhel 8.7 部署 keepalived+haproxy 实现 mysql 双主高可用场景
465 2
|
关系型数据库 MySQL 网络安全
rhel 8.7 部署 keepalived+haproxy 实现 mysql 双主高可用场景 1
rhel 8.7 部署 keepalived+haproxy 实现 mysql 双主高可用场景
357 0
|
SQL 存储 缓存
MySQL-双主高可用
MySQL-双主高可用
658 0
|
负载均衡 关系型数据库 MySQL
使用 LVS+Keepalived 实现 MySQL 双主复制负载均衡高可用
使用 LVS+Keepalived 实现 MySQL 双主复制负载均衡高可用
1463 0
使用 LVS+Keepalived 实现 MySQL 双主复制负载均衡高可用
|
关系型数据库 MySQL Shell
|
SQL 关系型数据库 MySQL
随笔:MySQL:双主情况下跳过Event的方式
简单记录如下: 双主情况下跳过相同server id Event的方式: IO线程 通过对比SERVER_ID 进行跳过操作 { mi->set_master_log_pos(mi->get_master_log_pos() + inc_pos); memcpy(r...
792 0
|
数据库 网络协议 关系型数据库

推荐镜像

更多