• 1
  • 2
  • 3
  • 4
  • 5
mysql数据库问题 首 页  »  帮助中心  »  数据库  »  mysql数据库问题
关于RDS for mysql查看增量数据的方法相关问题
发布日期:2015-11-7 14:11:15

  关于RDS for mysql查看增量数据的方法相关问题

  RDS for mysql的增量数据可以通过以下以下几个方面来看:binlog日志、SQL明细以及DTS数据订阅功能来查看。前两种方式都可以通过控制台和API两种方式来获取到。

  binlog日志会准确记录数据库所有的增删改操作。binlog日志可以准确的恢复用户的增量数据。但是RDS的binlog日志会先存储在实例中,系统会定期清理实例中的binlog日志至OSS并为用户保存7天的时间;另外用户可以通过控制台或者API来清理binlog日志,这种情况下如果有已经写完的binlog文件的话会清理出来,而正在写入的binlog文件是无法清理出来的(这就是为什么在点击一键清除binlog后仍然有部分binlog没有清理出来)。这种方式可以准确的记录数据库的增量数据但是无法实时的获取日志。控制台操作请参考下图;API请参考:https://docs.aliyun.com/?spm=5176.383338.201.75.OlrfY3#/pub/rds/open-api/log-interface&DescribeBinlogFiles


       SQL明细类似于Mysql的审计日志,会统计所有的DDL和DML操作的信息。并且这些信息是系统通过采集系统对网络上的包进行采集得到的。并不会解析实际的参数的值并且在SQL查询量较大的时候会丢失少量的记录。因此通过这种方式来统计准确的增量数据可能会出现不准确的情况。控制台查看方法见下图;API请参考:https://docs.aliyun.com/?spm=5176.383338.201.75.OlrfY3#/pub/rds/open-api/performance-interface&DescribeSQLLogRecords


  如果实际需求是实时的获取RDS的增量数据,这样可以实时同步到自己的自建库上的话,就需要使用DTS的数据订阅功能。DTS的数据订阅功能可以实时的将RDS的增量数据推送给用户进行消费。并且在可以定制自己的增量数据,可以选择部分的表的结构或者数据的增量迁移。这些可以在建议DTS数据订阅任务的时候进行设置。但是使用过程需要注意消费时间点需要在数据范围内,如下图,消费时间点如果不在数据范围内调用SDK获取增量数据会报错(报错信息类似于ERROR partition.PartitionPool - keep alive error

  com.aliyun.drc.client.HttpBadResponseException: java.lang.Exception: failed to get master store addr for XXXXXXXX)。

  如问题还未解决,请联系售后技术支持。