You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

未选择数据库时MariaDB 10.6.8主从复制失效问题咨询

问题原因分析

这个问题的核心是主从复制的库级过滤规则和SQL线程执行上下文的交互逻辑导致的,具体拆解如下:

  • 主库操作无异常:你执行跨库更新时,操作确实写入了binlog(从show master status的位置变化能确认),问题出在从库的SQL线程执行阶段。

  • 若从库配置了replicate_do_db(比如指定只同步some_database)这类库级过滤规则,就会触发该异常:

    • 当主库未选择默认数据库,直接执行UPDATE some_database.some_tables...这种带库名的语句时,binlog里记录的是完整跨库语句。从库SQL线程执行这条语句时,自身默认库为(none),此时replicate_do_db的过滤逻辑会判定:当前未选中目标库,这条语句不属于同步范围,直接跳过执行。
    • 当主库先执行USE some_database切换库再执行更新,binlog里会先记录库切换语句,从库SQL线程执行时会先切换到some_database,此时replicate_do_db规则匹配,就能正常执行更新操作。
  • 补充说明:如果你的binlog采用**STATEMENT(语句级)格式,这种上下文依赖的问题会更明显;若换成ROW(行级)**格式,复制基于行数据变更,不受执行上下文和库名写法影响,基本不会出现该问题。

内容的提问来源于stack exchange,提问作者J. Kim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 04:40:36