详情页标题前

腾讯云TDSQL-C MySQL版闪回查询

详情页1

功能介绍

数据库运维过程中可能会发生误操作的情况,这些误操作可能会给业务带来严重的影响,因误操作导致业务受到影响时,常见的恢复手段有回档、克隆等操作,但对于少量的数据变更以及紧急故障修复而言,容易出错且耗时较长,在数据量较大时恢复时间不可控。
TXSQL 团队在 Innodb 引擎上设计和实现了闪回查询功能,仅需通过简单的 SQL 语句即可查询误操作前的历史数据,通过特定的 SQL 语法查询指定时间点的数据,节省大量的数据查询和恢复时间,使得误操作后的数据能够快速恢复,从而保障业务快速恢复运行。

支持版本

内核版本 TDSQL-C MySQL 版 8.0 3.1.10 及以上。

适用场景

闪回查询功能用于在数据库运维过程中,误操作后进行快速的查询历史数据。
在使用该功能时,需要注意以下几点:
仅支持 Innodb 物理表,不支持 view 及其它引擎,不支持 last_insert_id() 等没有实际列对应的函数。仅支持秒级的闪回查询,不保证百分之百准确,如果一秒之内有多个改动,可能会查询到其中任何一个。闪回查询仅支持主键(或者 GEN_CLUST_INDEX)。不支持在 prepared statement 和 stored procedure 中使用。不支持 DDL,如果对表进行 DDL(如 truncate table,这种建议通过回收站进行恢复),闪回查询得到的结果可能不符合预期。同一个语句中,同一张表如果指定了多个闪回查询时间,会选择离当前查询时间最远的时间。由于主从实例存在时间差,指定相同时间进行闪回查询,主从实例获得的结果可能不一样。开启闪回查询后会延迟 undo 日志清理以及增加内存占用,不建议 Innodb_backquery_window 设置过大(建议设置在900至1800之间),尤其是业务访问繁忙的实例。如果数据库实例重启或者 crash,将不能查询到重启或 crash 之前的历史信息。指定的时间需要在支持的范围之内(支持范围可通过状态变量 Innodb_backquery_up_time 和 Innodb_backquery_low_time 查看,执行 show status like '%backquery%')。

使用说明

闪回查询提供了全新的 AS OF 语法,在参数设置中将 Innodb_backquery_enable 参数设置为 ON,打开闪回查询功能,通过特定语法查询指定时间的数据。语法如下:

SELECT ... FROM <表名>AS OF TIMESTAMP <时间>;

查询指定时间参考示例

MySQL [test]> create table t1(id int,c1 int) engine=innodb;Query OK, 0 rows affected (0.06 sec)
MySQL [test]> insert into t1 values(1,1),(2,2),(3,3),(4,4);Query OK, 4 rows affected (0.01 sec)Records: 4 Duplicates: 0 Warnings: 0
MySQL [test]> select now();+---------------------+| now() |+---------------------+| 2023-08-17 15:50:01 |+---------------------+1 row in set (0.00 sec)
MySQL [test]> delete from t1 where id=4;Query OK, 1 row affected (0.00 sec)
MySQL [test]> select * from t1;+------+------+| id | c1 |+------+------+| 1 | 1 || 2 | 2 || 3 | 3 |+------+------+3 rows in set (0.00 sec)
MySQL [test]> select * from t1 as of timestamp '2023-08-17 15:50:01';+------+------+| id | c1 |+------+------+| 1 | 1 || 2 | 2 || 3 | 3 || 4 | 4 |+------+------+4 rows in set (0.00 sec)

通过历史数据创建表示例

create table t3 select * from t1 as of timestamp '2023-08-17 15:50:01';

插入历史数据至表中示例

insert into t4 select * from t1 as of timestamp '2023-08-17 15:50:01';

参数说明

下列表中列举闪回查询功能可配置的参数说明。

参数名 参数范围 类型 默认值 取值范围 是否需重启 说明
innodb_backquery_enable 全局参数 Boolean OFF ON/OFF 闪回查询功能的开关
innodb_backquery_window 全局参数 Integer 900 1 – 86400 支持闪回查询的时间范围,单位:秒,此参数的值越大,闪回查询支持的历史数据查询时间越长,同时 undo 表空间占用的存储空间也会上升
innodb_backquery_history_limit 全局参数 Integer 8000000 1 – 9223372036854476000 undo 的历史链表长度限制,超过设定值会忽略 Innodb_backquery_window 触发 purge,直到历史链表长度低于设定值



官网1折活动,限时活动,即将结束,速速收藏
同尘科技腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/139681.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云容器服务为 TKE Ingress 证书续期同尘科技

    操作场景 使用容器服务 TKE 控制台创建的 Ingress 配置的证书,会引用 SSL 证书 中托管的证书,若 Ingress 使用时间较长,证书存在过期的风险。证书过期会对线上业务造成巨大影响,因此需要在证书过期前进行续期,您可参考本文为 Ingress 证书续期。 操作步骤 查询证书到期时间 1. 登录 SSL 证书控制台,选择左侧导航栏中的我的证书。…

    2023年12月9日
  • 阿里云RDS数据库从RDS同步至MaxCompute-云淘科技

    大数据计算服务(MaxCompute,原名ODPS)是一种快速、完全托管的EB级数据仓库解决方案。通过数据传输服务DTS(Data Transmission Service),您可以将RDS MySQL或RDS MySQL Serverless的数据同步至MaxCompute,帮助您快速搭建数据实时分析系统。 前提条件 您已完成以下操作: 开通MaxComp…

    2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云GPU云服务器第三方教程

    本文提供了 GPU 云服务器不同场景下的第三方教程,您可参考教程进行相关实践操作。说明由于 GPU 云服务器产品在持续的更新与迭代,教程中的步骤由于时效性原因可能与产品最新的操作步骤不一致。本文第三方教程来自 GPU 云服务器用户实践征文,仅供学习和参考。 图形图像处理 使用 GPU 云服务器对图像或视频进行超分辨率使用 GPU 云服务器完成 blender…

    腾讯云 2023年12月9日
  • 腾讯云对象存储GET Bucket Object versions

    功能描述 GET Bucket Object versions 接口用于拉取存储桶内的所有对象及其历史版本信息,您可以通过指定参数筛选出存储桶内部分对象及其历史版本信息。该 API 的请求者需要对存储桶有读取权限。 授权说明 授权策略中 action 设置为 cos:GetBucketObjectVersions 。查看所有 action。 请求 请求示例…

    腾讯云 2023年12月9日
  • 腾讯云容器镜像服务使用自定义域名及云联网实现跨地域内网访问同尘

    操作场景 容器镜像服务 TCR 企业版支持网络访问控制,支持用户接入指定的私有网络 VPC,允许该 VPC 内 Docker 客户端通过内网访问镜像数据。随着多云/分布式云的概念普及及实践落地,用户的容器集群不再仅位于腾讯云指定地域单个私有网络 VPC 内,而可能分布在多个云厂商,IDC 的复杂网络内,而这些复杂网络可能通过云联网、对等连接的网络产品实现互通…

    2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。