一主多从需主库一次配置但满足多从要求,各从库须有唯一server-id、独立relay-log路径、IP限定复制账号,并优先从现有从库克隆数据初始化,避免主库压力。
一主多从不是简单地把“一主一从”复制几遍,而是要解决多个从库共用同一套 binlog 流时的资源竞争、权限隔离、数据初始一致性、以及后续监控维护成本上升的问题。核心在于:主库配置一次即可,但每个从库必须有独立 server-id、独立中继日志路径、独立复制账号(或严格限制 IP),且初始化方式需避免对主库造成压力。
主库只需一次配置,但参数必须满足多从场景的基本要求:
server-id 必须唯一且非 0(如设为 1)——这是整个集群的锚点,不能和任何从库重复log_bin 必须启用(如 mysql-bin),且磁盘空间充足;建议配 expire_logs_days = 7 防止日志堆积binlog_format 强烈推荐设为 ROW,避免语句级复制在函数、临时表、非确定性 SQL 下的数据不一致binlog-do-db 或 binlog-ignore-db 做库级过滤——它们在多从、跨库事务下行为不可靠,改用从库端的 replicate-do-db 更可控max_connections 足够(默认 151 往往不够),因为每个从库至少占用 1 个连接,N 个从库就要预留 N+20 以上从库之间若 server-id 相同,会导致主库无法区分它们,出现 “Duplicate server id” 错误,甚至中断所有复制链路。
server-id 推荐用 IP 尾数(如 192.168.1.11 → 11)或递增编号(101, 102, 103),严禁重复relay-log 必须显式指定路径和前缀,例如 /var/lib/mysql/relaylog/slave1-relay,否则默认名是 hostname-relay-bin,在主机名相同或克隆环境里极易撞名read_only = ON 是强制项,防止应用误写从库导致主从不一致;MySQL 8.0 还建议加 super_read_only = ON
gtid_mode = ON + enforce_gtid_consistency = ON
用 'repl'@'%' 给所有从库授权看似方便,实则埋下严重隐患:任意能连上主库的机器都可发起复制,且无法区分哪个从库出问题。
CREATE USER 'repl_slave1'@'192.168.1.11' IDENTIFIED BY 'pwd1';
GRANT REPLICATION SLAVE ON *.* TO 'repl_slave1'@'192.168.1.11';
'repl_slave2'@'192.168.1.%',而非 '%'
caching_sha2_password,从库连接时需确保客户端支持,否则报 Plugin caching_sha2_password could not be loaded
当已有 1 个从库在运行时,新增第 2、第 3 个从库,绝不能重新执行一遍 mysqldump --master-data=2 ——这会锁主库、拖慢线上业务,且导出位置已过期。
SHOW MASTER STATUS 当前位点,配合 mysqldump --single-transaction --skip-lock-tables 导出(仅适用于小数据量)ALTER TABLE),否则 --single-transaction 失效,导致备份不一致SELECT @@global.gtid_executed;(GTID 模式)或 SHOW MASTER STATUS;(位点模式)是否与预期初始状态匹配最易被忽略的一点:一主多从后,SHOW SLAVE STATUSG 输出里的 Seconds_Behind_Master 是单个从库自己的延迟,不代表整体;你得逐个查,或用 pt-heartbeat 统一监控所有从库的真实 lag。没有集中监控,等于没真正落地一主多从。
Tplink企业版路由器WiFi名称的默认设置介绍(Tplink企业版路由器WiFi名称的默认设置是什么)
Tplink路由器灯常亮无法上网的原因分析(如何解决Tplink路由器灯常亮无法上网的问题)
Tplink千兆企业级路由器自动重启的作用和优势介绍(如何设置Tplink千兆企业级路由器自动重启功能)
一根天线的tplink路由器有哪些(一根天线的Tplink路由器的特点和优势介绍)
tplink路由器外网访问不了nas(Tplink路由器外网访问NAS的原因分析)
Tplink无法搜到路由器的原因分析(如何解决Tplink无法搜到路由器的问题)