Navicat 17「模型工作区」仅支持主从逻辑拓扑的静态绘图与文档标注,不配置、不驱动、不验证MySQL复制运行时逻辑;真实复制依赖my.cnf配置、CHANGE MASTER TO执行及SHOW SLAVE STATUS状态。
navicat 17 的「模型工作区」不支持直接配置或驱动 mysql 主从复制的运行时逻辑(比如 change master to、start slave 或半同步插件加载),它只负责可视化建模与结构同步,不是复制控制台。
如果你在模型中画出“主库→从库”的箭头,并标注“binlog → relay log”,那只是示意图;真实复制关系必须由 MySQL 实例自身配置并运行,模型图不会影响、触发或验证任何复制状态。
模型工作区能做什么:画逻辑架构图
你可以在 Navicat 17 模型工作区里手动绘制主从拓扑,用于团队沟通或文档归档:
- 新建模型 → 添加两个数据库实体,分别命名为
master_db和slave_db - 右键实体 → “编辑属性” → 在“备注”栏填写角色(如
role = master)、server-id = 1等关键配置项 - 用连接线连接两者,双击连线 → 在“标签”中写入
replication via ROW binlog或semisync enabled - 导出为 PNG/PDF 供方案评审使用
⚠️ 注意:这些文字和连线完全静态,不读取实际 MySQL 配置,也不会校验 server-id 是否冲突、relay-log 路径是否存在。
真正起作用的复制配置不在模型里
主从是否生效,只取决于以下三项是否正确且运行中:
- 主库
my.cnf中启用了log-bin,且server-id唯一 - 从库执行过有效的
CHANGE MASTER TO,其中MASTER_LOG_FILE和MASTER_LOG_POS必须匹配SHOW MASTER STATUS输出 -
SHOW SLAVE STATUS\G中Slave_IO_Running和Slave_SQL_Running都为Yes,且Seconds_Behind_Master数值稳定(非NULL或持续增长)
模型图里写再多“半同步已启用”,只要没在主从两端分别安装 semisync_master 和 semisync_slave 插件并启用,就只是纸面逻辑。
结构同步 ≠ 复制同步:别混淆这两个功能
很多人误以为用 Navicat 的「结构同步」或「数据同步」工具点几下就能代替主从复制——这是常见误解:
- 「结构同步」生成的是 DDL(
CREATE TABLE等),一次性操作,不持续监听变更 - 「数据同步」是全量或按条件导出导入,本质是
SELECT ... INTO OUTFILE+LOAD DATA INFILE,无事务一致性保障,也不维护位点 - 真正的主从复制是基于 binlog 流式、增量、事务一致的重放,依赖 MySQL 内核线程(I/O Thread / SQL Thread)
模型图可以标注“此处用结构同步补救从库表缺失”,但不能把它当成复制机制本身。
模型工作区的逻辑图价值在于对齐认知,不是替代配置。真正容易被忽略的点是:server-id 冲突、read_only = 1 未设导致从库被误写、以及半同步超时后自动退化为异步却没被监控捕获——这些都得查 SHOW VARIABLES 和 SHOW STATUS,而不是看模型连线颜色。


















