MySQL双主复制

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 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。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
关系型数据库 MySQL Shell
MySQL高可用之双主+Keepalived,轻松实现单点故障VIP转移
MySQL高可用之双主+Keepalived,轻松实现单点故障VIP转移
1600 0
MySQL高可用之双主+Keepalived,轻松实现单点故障VIP转移
|
7月前
|
关系型数据库 MySQL 数据库
MySQL集群 双主架构(配置命令)
MySQL集群 双主架构(配置命令)
129 1
|
负载均衡 网络协议 关系型数据库
rhel 8.7 部署 keepalived+haproxy 实现 mysql 双主高可用场景 2
rhel 8.7 部署 keepalived+haproxy 实现 mysql 双主高可用场景
199 2
|
关系型数据库 MySQL 网络安全
rhel 8.7 部署 keepalived+haproxy 实现 mysql 双主高可用场景 1
rhel 8.7 部署 keepalived+haproxy 实现 mysql 双主高可用场景
149 0
|
SQL 存储 缓存
MySQL-双主高可用
MySQL-双主高可用
237 0
|
负载均衡 关系型数据库 MySQL
使用 LVS+Keepalived 实现 MySQL 双主复制负载均衡高可用
使用 LVS+Keepalived 实现 MySQL 双主复制负载均衡高可用
994 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...
644 0
|
数据库 网络协议 关系型数据库

推荐镜像

更多
下一篇
DataWorks