ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

【MySQL】MySQL复制过滤最佳实践

2022-07-13 22:36:43  阅读:161  来源: 互联网

标签:do db 过滤 replicate 复制 MySQL table 级别


MySQL为复制提供了三个级别的过滤设置:binary log级别、数据库级别、表级别。


binary log级别过滤在应用在master端,控制了日志的变更。因为MySQL复制是基于binarylog的,索引binarylog是第一级别过滤,具有最高的优先级。而数据库级别和表级别是应用在slave端,因为每个表都属于一个schema,所以数据库级别过滤的优先级大于表级别。


优先级比较:

binarylog级别>数据库级别>表级别

  

表级别过滤涉及的参数有:

–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中的过滤,要谨慎使用。

标签:do,db,过滤,replicate,复制,MySQL,table,级别
来源: https://www.cnblogs.com/abclife/p/16475790.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有