mysql如何配置复制过滤

P粉602998670
发布: 2025-09-17 15:19:01
原创
483人浏览过
配置MySQL复制过滤可通过从库设置参数实现部分数据同步,1. 使用replicate-do-db仅同步指定数据库;2. 用replicate-ignore-db排除特定数据库;3. 通过replicate-do-table和replicate-ignore-table按表过滤;4. 利用replicate-wild-do-table支持通配符匹配表名;5. 注意规则依赖会话数据库、需重启生效,建议优先使用表级过滤并避免跨库操作影响,GTID模式下需谨慎配置。

mysql如何配置复制过滤

MySQL 配置复制过滤,主要是通过在从库(Slave)上设置特定参数,来控制哪些数据库或表的数据需要同步。这种方式适用于只需要部分数据同步的场景,比如只关心某个业务库,而不需要整个实例的所有数据。

1. 使用 replicate-do-db 选择要同步的数据库

如果只想同步特定数据库的数据,可以在从库的配置文件中添加 replicate-do-db 参数。

示例:

在 my.cnf 或 my.ini 中加入:

[mysqld]
replicate-do-db=order_db
登录后复制

这样,只有操作在 order_db 数据库中的语句才会被应用。注意:该选项对跨库操作不敏感,比如主库执行

USE other_db; UPDATE order_db.orders SET status=1;
登录后复制
,由于当前数据库不是 order_db,这条语句可能不会被同步。

2. 使用 replicate-ignore-db 忽略某些数据库

如果想排除某些数据库,可以使用 replicate-ignore-db

示例:
[mysqld]
replicate-ignore-db=test
replicate-ignore-db=temp_db
登录后复制

所有在 test 和 temp_db 数据库上的操作将不会被从库执行。

3. 基于表的过滤:replicate-do-table 和 replicate-ignore-table

更细粒度的控制可以通过指定具体的表来实现。

琅琅配音
琅琅配音

全能AI配音神器

琅琅配音 208
查看详情 琅琅配音
示例:
replicate-do-table=order_db.orders
replicate-ignore-table=order_db.logs
登录后复制

仅同步 orders 表,忽略 logs 表。注意:表名必须包含数据库名前缀。

4. 使用通配符过滤表(replicate-wild-do-table)

支持通配符匹配,适合有命名规律的表。

示例:
replicate-wild-do-table=report_db.sales_*
replicate-wild-ignore-table=%.tmp_%
登录后复制

第一行表示同步 report_db 中以 sales_ 开头的所有表;第二行忽略所有数据库中表名包含 tmp_ 的临时表。

这类规则使用 LIKE 语法,% 匹配任意字符,_ 匹配单个字符。

5. 注意事项与限制

  • 这些过滤规则在从库启动时加载,修改后需重启复制或重新配置生效。
  • 基于数据库的过滤(如 replicate-do-db)依赖于当前会话的默认数据库(即 USE db),容易遗漏跨库语句。
  • 建议优先使用 replicate-wild-do-table 这类表级过滤,逻辑更清晰,不易出错。
  • 主库无需特殊配置,过滤完全由从库控制。
  • 使用 GTID 模式时,过滤需更加谨慎,避免导致复制中断或数据不一致。

基本上就这些。根据实际需求选择合适的过滤方式,避免过度依赖数据库级过滤,表级更可控。配置完成后,用

SHOW SLAVE STATUS\G
登录后复制
检查复制是否正常运行。

以上就是mysql如何配置复制过滤的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号