开发者社区> 问答> 正文

技术运维问题 - MYSQL使用 -RDS for MySQL查看增量数据的方法



1.  SQL审计
SQL审计会统计所有的DML和DDL操作的信息,这些信息是系统通过采集系统对网络上的包进行采集得到的。SQL审计并不会解析实际的参数的值, 并且在SQL查询量较大的时候会丢失少量的记录。因此通过这种方式来统计准确的增量数据可能是不精确的。控制台查看SQL审计的方式参考下图:

请注意: 必须要开启SQL审计才可以显示SQL信息
通过API查看SQL审计参:[url=http://help.aliyun.com/document_detail/rds/OpenAPI-manual/RDS-OpenAPI-LogManagement/DescribeSQLLogRecords.html] SQL审计日志

2. 通过binlog查看增量数据
binlog日志会准确记录数据库所有的增删改操作。该日志可以准确的恢复用户的增量数据。RDS的binlog日志会先存储在实例中,系统会定期清理实例中的binlog日志,并上传到OSS上面备份。日志备份不占用用户的实例空间。 OSS的日志会保存7天,超过7天会被清除。
另外用户可以通过控制台或者API来清理binlog日志,已经写完的binlog文件的话会清理出来,正在写入的binlog文件是无法清理出来的(这就是为什么在点击一键上传binlog后仍然有部分binlog没有清理出来)。这种方式可以准确的记录数据库的增量数据但是无法实时的获取日志。控制台操作请参考下图:

API请参考:[url=http://help.aliyun.com/document_detail/rds/OpenAPI-manual/RDS-OpenAPI-LogManagement/DescribeBinlogFiles.html]查看binlog日志

获取binlog后,可以通过如下命令将binlog内容转换为可读: mysqlbinlog --no-defaults -v --base64-output=decode-rows my_binlog_file_name > binlog.sql




3. DTS订阅查看增量数据
DTS的数据订阅功能可以实时的将RDS的增量数据推送给用户进行消费。用户可以定制增量数据,可以选择部分表的结构或者数据的增量。在创建DTS数据订阅任务的时候进行设置。使用过程需要注意消费时间点需要在数据范围内。如下图,如果消费时间点不在数据范围内,调用SDK获取增量数据会报错(报错信息类似于ERROR partition.PartitionPool - keep alive errorcom.aliyun.drc.client.HttpBadResponseException: java.lang.Exception: failed to get master store addr for XXXXXXXX)。

创建数据订阅任务参考:[url=http://help.aliyun.com/document_detail/dts/Getting-Started/data-subscription.html] 创建订阅通道

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


展开
收起
梨好橙 2018-09-24 22:12:34 1876 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
可视化架构运维实践 立即下载
2021云上架构与运维峰会演讲合集 立即下载
MySQL 技术大全:开发、优化与运维实战 立即下载

相关镜像