数据归档怎么做

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:4
    【场景】:
    线上主库是mysql,从库是tidb集群,现在要线上mysql的数据只保持1个月,线下数据tidb可以保留2年以上,对于这种场景的话,怎么去做数据同步呢,如果采用mysql主从同步的方式去的话,删了主库的数据,从库也会删除,那怎么保证删了主库的那几张表的数据,tidb上的数据不会删除呢?

你好,可以使用 DM 同步数据,在配置上游 task 时,过滤掉所有的 drop delete 以及 truncate 等语句。配置可参考如下模版,过滤掉删除的语句后,DM 不会将此类语句同步到下游,另外另外也可以给访问 TiDB 集群的用户做限制,双重保证数据不会被删除掉。
https://github.com/pingcap/dm/blob/ee6c6c2ddc8cdf57045586493c59e33691af4804/dm/dm-ansible/conf/task_advanced.yaml.example#L91-L94