【MySQL】MySQL复制过滤最佳实践
2022-07-13 22:13 abce 阅读(424) 评论(0) 编辑 收藏 举报MySQL为复制提供了三个级别的过滤设置:binary log级别、数据库级别、表级别。
binary log级别过滤在应用在master端,控制了日志的变更。因为MySQL复制是基于binarylog的,索引binarylog是第一级别过滤,具有最高的优先级。而数据库级别和表级别是应用在slave端,因为每个表都属于一个schema,所以数据库级别过滤的优先级大于表级别。
优先级比较:
1 | binarylog级别>数据库级别>表级别 |
表级别过滤涉及的参数有:
1 | –replicate-do- table , –replicate- ignore - table , –replicate-wild-do- table , –replicate-wild- ignore - table |
以下是复制过滤设置的建议:
1.不要在binarylog级别做复制过滤,除非你真的需要,且能承受数据丢失的风险。
2.数据库级别复制过滤,要么使用–replicate-do-db和–replicate-ignore-db其中一个选项,要么都不用使用;千万不要同时使用这两个选项
3.当binlog_format设置成statement或者mixed,且在slave端使用了–replicate-do-db和–replicate-ignore-db其中一个选项,要确保不要在master端跨越default database修改表,否则可能会丢失数据
4.在表级别过滤时,只是用–replicate-do-db和–replicate-ignore-db其中一个选项,或者使用–replicate-ignore-table和—replicate-wild-do-table来避免冲突和混淆
对于MariaDB replication Galera cluster中的过滤,要谨慎使用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
2020-07-13 PostgreSQL 高级SQL(五) 内建窗口函数
2018-07-13 主库添加数据文件后,备库因为创建文件失败而停止数据同步
2015-07-13 RHEL6 - 图形化设置IP
2015-07-13 RHEL7 -- RPM包命名规则
2015-07-13 OpenSSH的RSA/DSA密钥认证系统