V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
Hankey
V2EX  ›  MySQL

各位大佬, Mysql 主从复制,用哪种高可用切换方案?

  •  
  •   Hankey · 2023-08-04 10:04:53 +08:00 · 2773 次点击
    这是一个创建于 510 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前用 mysql8+

    要求:
    1 、纯内网,没有上云
    2 、经过实践过,并且生产环境在使用的方案
    3 、有什么要注意的坑
    有没有实操方案文档参考一下,先谢!
    13 条回复    2024-01-21 22:20:34 +08:00
    vczyh
        1
    vczyh  
       2023-08-04 10:11:58 +08:00
    Orchestrator
    pollux
        2
    pollux  
       2023-08-04 11:12:51 +08:00   ❤️ 1
    双交换机做堆叠,双电源冗余
    服务器双电源,双网卡 bonding
    多磁盘做 Raid5 或 Raid6, 不差钱就用 Raid1
    MySQL 做双主互备,互为主从
    负载均衡:
    1. 若已经有了 keepalived, 用 haproxy 或 nginx 加 vip 做 tcp 转发
    2. 若没有,建议用 consul+coredns 做域名的数据库连接
    jinsongzhao
        3
    jinsongzhao  
       2023-08-04 11:17:25 +08:00
    偷懒直接做成了双主,这样就不用切换了,主机完蛋了,直接换备机
    Worldispow
        4
    Worldispow  
       2023-08-04 11:22:28 +08:00
    千万不要用 mgr ,坑居多。
    binge921
        5
    binge921  
       2023-08-04 11:25:34 +08:00
    我目前用的 Galera Cluster 问下各位大佬 有问题么
    xudaxian520bsz
        6
    xudaxian520bsz  
       2023-08-04 11:32:43 +08:00
    @binge921 厉害,我还真没听过这个,只听过 MHA
    seers
        7
    seers  
       2023-08-04 13:29:01 +08:00 via Android
    歪个楼,在 db2 时代我司就被 db2 那个 hadr 搞得死去活来,现在二话不说买的阿里私有云,他好我也好( doge
    Songxwn
        8
    Songxwn  
       2023-08-04 13:45:41 +08:00
    @binge921 建议三个以上奇数节点,否则容易脑裂
    dif
        9
    dif  
       2023-08-04 13:58:22 +08:00
    目前经常用的方式就是 LVS + mysql
    fredcc
        10
    fredcc  
       2023-08-04 14:17:53 +08:00
    传统方案:主库双机+网络共享存储或 scsi 直连存储,corosync + pacemake 做双机 HA
    新派方案:MySQL NDB Cluster

    坑:
    传统方案双机切换后可能 binlog 位置跳变,需要手工修复主从
    NDB 集群要换引擎,其他问题不详,因为没用过
    my3157
        11
    my3157  
       2023-08-04 14:31:30 +08:00 via Android
    pxc
    hcymysql
        12
    hcymysql  
       2023-11-09 15:54:54 +08:00
    MySQL (MHA)重构版
    https://github.com/hcymysql/MHA-Re-Edition

    由于 MHA ( mha4mysql-manager )工具 2018 年已经停止维护更新,且不支持 Gtid 复制模式,在原版基础上增补功能难度较大,固考虑将其重构。

    参考了原版 MHA 的故障切换思路,改进的地方如下:

    1 )无需打通 ssh 公私钥互信认证,只需在 app1.cnf 配置文件里提供用户名和密码( root 权限)即可,这一步的作用是漂移 VIP ,工具会直接进入远程主机上执行 ip addr add VIP

    2 )目前主流版本 MySQL 5.7 和 8.0 的复制模式是基于 Gtid ,因事务号是唯一的,更改同步复制源不需要知道 binlog 文件名和 position 位置点,固简化了在客户端部署 agent 做数据补齐。

    3 )无需安装,就两个文件,一个是(环境配置检查)可执行文件 masterha_check_repl_mysql ,一个是(故障自动转移 autofailover 和在线平滑切换 online switch )可执行文件 masterha_manager_mysql

    4 ) 基于主从复制( Gtid 复制模式)才可以运行,masterha_check_repl_mysql 工具会检测,如果是基于 binlog 和 position (位置点复制模式)不能运行。可开启半同步复制确保切换以后数据完整性(至少有一个从库确认已接收到所有事件)。

    5 ) masterha_manager_mysql 守护进程主控文件,集成了 ( masterha_master_switch + master_ip_failover + masterha_secondary_check + shutdown_script + weixin_alarm )捆绑在一起

    6 ) AutoFailover 自动故障切换(转移) VIP 后,会发送微信公众号报警通知​

    7 )支持远控卡重启服务器(避免脑裂问题)。例如删除 VIP 失败,主机已经 hang 住,只能通过远程管理卡去重启机器。在这里你可以调用远控卡命令,比如 DELL 服务器的 ipmitool 命令​https://www.cnblogs.com/EricDing/p/8995263.html

    8 )增补对 MariaDB Gtid 的支持
    dyv9
        13
    dyv9  
       339 天前 via Android
    @binge921 附议。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5500 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 08:27 · PVG 16:27 · LAX 00:27 · JFK 03:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.