数据库与存储 · 高级

Archery SQL 审批与安全变更闭环

以 Archery 与 MySQL 为例建立变更申请、审核、备份验证、分批执行、结果核实及业务验收,明确 DDL 与已提交写入的恢复边界。

MySQL安全加固自动化

场景目标

在隔离 MySQL 演练中形成可追溯的 SQL 变更工单和恢复评估,确认审批针对精确内容,执行失败或结果不明时可停止并核实数据事实。

环境要求

需要固定版本的 Archery、MySQL 和已选审核执行组件,专用隔离库、脱敏样本、受限查询与执行身份,以及独立审批与验收人员。先登记支持矩阵、备份覆盖及恢复窗口;120 分钟估时不包含生产 DDL、大表迁移、全量备份或实际数据库接入,变更命令由授权执行人另行审核。

参考架构 · 非实时拓扑

SQL 审批、执行与隔离恢复验证架构

Archery 管理工单与执行证据,审核组件能力按版本核验;数据库事实、业务验收和备份恢复形成独立证据,避免把审核通过当成可撤销保证。

  • 数据 / 请求
  • 控制 / 管理
  • 观测 / 查询

点击组件,在图下方查看职责;连线编号对应流向解读。小屏可横向滚动,或直接展开文字说明。

SQL 审批、执行与隔离恢复验证架构:组件关系图Archery 管理工单与执行证据,审核组件能力按版本核验;数据库事实、业务验收和备份恢复形成独立证据,避免把审核通过当成可撤销保证。 变更申请人 → Archery:提交固定工单;Archery → 审核组件:请求规则审核;审核组件 → 审批与验收人:审核证据;审批与验收人 → Archery:批准窗口和批次;Archery → 目标 MySQL:获批 SQL 执行;目标 MySQL → 受控备份集合:备份与日志副本;受控备份集合 → 隔离恢复副本:隔离样本恢复;目标 MySQL → 审批与验收人:实际变更结果;隔离恢复副本 → 审批与验收人:恢复覆盖证据。箭头说明见下方流向解读。
以 MySQL 为例的逻辑参考图;审核引擎与备份能力待版本验证,不表示本站已连接数据库或执行 SQL。

变更申请人

入口 / 来源

冻结目标实例、库表、文件摘要、预期行数和窗口;SQL 内容变化必须重新评审。

全部组件职责 7 个组件
变更申请人
冻结目标实例、库表、文件摘要、预期行数和窗口;SQL 内容变化必须重新评审。
Archery
承载审批、审核和获批执行路径,页面状态必须和任务及数据库事实交叉确认。工具介绍 Archery
目标 MySQL
使用已验证的最小权限身份,控制批次与锁等待;不把所有 DDL 当成普通事务可撤销操作。工具介绍 目标 MySQL
审核组件
按所用版本核对解析、审核、执行和备份支持,不假定平台入口存在即代表依赖全部可用。
审批与验收人
独立审核业务语义、审核告警、恢复证据及实际影响,执行人与业务/数据库验收职责明确。
受控备份集合
保护受影响对象所需备份和日志,登记时间、保留与访问身份,不能用生成回滚 SQL 替代恢复证据。
隔离恢复副本
只在独立副本验证结构和数据样本,不接回生产,也不覆盖变更后的合法新写入。
流向解读 9 条连接
  1. 1

    变更申请人 Archery

    控制 / 管理 · 提交固定工单

    变更对象、SQL 摘要和预期影响共同构成审批对象。

  2. 2

    Archery 审核组件

    控制 / 管理 · 请求规则审核

    调用已确认支持本次 SQL 的组件,解析失败与规则告警分别记录。

  3. 3

    审核组件 审批与验收人

    观测 / 查询 · 审核证据

    审核结果作为评审输入,不能独立证明业务语义正确或没有执行风险。

  4. 4

    审批与验收人 Archery

    控制 / 管理 · 批准窗口和批次

    审批绑定当前版本及恢复条件,超时结果不明时先确认事实而不是重复执行。

  5. 5

    Archery 目标 MySQL

    控制 / 管理 · 获批 SQL 执行

    此线是运维变更控制,不是正常业务请求链路;页面取消不保证数据库事务停止。

  6. 6

    目标 MySQL 受控备份集合

    数据 / 请求 · 备份与日志副本

    只采用已验证覆盖所需对象和时间段的备份方式。

  7. 7

    受控备份集合 隔离恢复副本

    数据 / 请求 · 隔离样本恢复

    恢复副本仅用于验证,不改变源库和原备份。

  8. 8

    目标 MySQL 审批与验收人

    观测 / 查询 · 实际变更结果

    联合核对结构、影响行数、锁等待、复制和业务请求。

  9. 9

    隔离恢复副本 审批与验收人

    观测 / 查询 · 恢复覆盖证据

    报告已验证样本、耗时和缺口,审批不能越过已知不可恢复边界。

从架构到实施

  1. 01

    先固定对象和审核前提

    核对支持矩阵、真实实例身份及 SQL 摘要,确保申请、审批与待执行对象一致。

  2. 02

    审核结果要有恢复证据支撑

    拆分规则问题与执行风险,用隔离副本验证备份,再在批准窗口按小批次推进。

  3. 03

    以数据库和业务事实结束工单

    分别验收实际结构、数据和业务结果,归档成功、失败或部分成功,不用页面状态掩盖未知结果。

故障域与操作边界

DDL 与已提交写入不能通用撤销

MySQL 多类语句会隐式提交;回滚 SQL 有适用前提,普通 ROLLBACK 不是所有变更的一键恢复。

网络超时不代表执行失败

先核对任务与数据库状态,结果不明时停止扩批和重复提交,终止或补偿由 DBA 另行评审。

备份恢复不覆盖后续合法数据

正式恢复或补偿需核对新写入冲突,隔离验证不能作为直接覆盖源库的授权。

架构依据与版本核对 2 篇官方资料

图解是本站基于官方资料整理的逻辑参考;实施前仍需核对实际部署版本、组件支持范围与变更审批。

方案说明

流程定位

Archery 负责 SQL 工单、审核和执行记录,MySQL 是本场景的示例变更对象。各后端支持的查询、审核、执行及备份能力不同,需核对所选版本与审核组件,不能把平台入口存在理解为所有数据库具有同样保护。

适用前提与安全边界

本文是待实际环境验证的方案,不连接数据库、不代替 DBA 审批。仅在隔离演练环境先证明备份恢复、审核依赖与分批策略可用。SQL 示例只读,需已授权目标;禁止复制生产数据或凭据到公开文档。审核规则通过不代表业务语义正确,页面取消也不代表数据库已停止执行。

全局验收与恢复边界

工单、SQL 摘要、目标实例、审批、真实影响行数、结构和业务验收能够互相对应。目标不符、执行状态不明、锁阻塞升级或备份缺失时停止后续批次。MySQL 多类 DDL 有隐式提交,普通 ROLLBACK 不能通用撤销,已提交写入的补偿另行评审。

配套入口

官方参考

工具编排

2 个关联工具
  1. ArcherySQL 审核与变更工单关联申请、审批、执行记录和风险说明,按后端支持矩阵验证能力。
  2. MySQL示例数据库与数据事实提供目标身份、权限、结构和变更结果核验,明确事务及 DDL 恢复边界。

实施步骤

共 8 步
  1. 01

    登记支持矩阵与变更职责

    记录 Archery、MySQL、审核组件版本和连接方式,分别确认查询、审核、执行、备份与回滚语句生成是否支持本次语句。划分申请、审批、执行和业务验收职责,维护紧急停止联系人。不能仅看到工单页面即可认定审核引擎、任务队列或数据库备份已正常。

    验证标准

    本次数据库类型和语句类型均有支持证据,未支持项有替代审核方式或明确阻塞。查询与执行账号作用域分离,审批人不是唯一未经复核的申请执行者,测试环境和业务目标清楚。

    停止与回退

    能力或职责未确认时不提交执行工单,只保留方案草稿。修正连接和配置前备份候选差异,不绕过审核组件直接使用高权限数据库账户继续。

    返回步骤起点
  2. 02

    只读确认目标实例与权限

    从已授权连接核对主机、端口、版本、默认库和有效数据库账户,将结果与资产台账及工单匹配;若经代理接入,应另核对后端身份。以下语句只读取信息,不修改表数据,输出按内部信息管理要求保管。

    SELECT @@hostname, @@port, @@version, DATABASE(), CURRENT_USER();
    SHOW GRANTS FOR CURRENT_USER;
    验证标准

    实例身份、库名及有效角色与申请完全对应,执行身份仅具有所需库表权限。路由到只读副本、错误租户或未知代理后端时记录阻塞,不通过切换更高权限账户试错。

    停止与回退

    只读核验无需恢复数据。目标或权限不一致时断开本次测试连接并停止后续动作,由资产与数据库负责人核实,不在线修改路由去追逐预期结果。

    返回步骤起点
  3. 03

    冻结 SQL 内容和影响范围

    申请中写明变更编号、库表、SQL 文件摘要、预期影响行数、执行耗时预算、锁等待上限和业务验收条件。使用本地只读文件摘要核对审批对象,示例中的路径必须是候选 SQL 文件,不能替换为凭据文件;任何 SQL 内容、目标或窗口变化都重新评审。

    shasum -a 256 '<APPROVED_SQL_FILE>'
    验证标准

    审批所见 SQL 与待执行文件摘要一致,DDL、DML 及数据修复的影响边界分别说明。条件过宽、未给出业务验收或需要敏感数据外传的申请被退回,文件摘要仅用于一致性检查不替代内容审阅。

    停止与回退

    尚未执行时可撤回或修订申请,保留前后差异和驳回原因。不得修改已批准记录使其看起来从未变化,更不能用新文件覆盖旧摘要后沿用原审批。

    返回步骤起点
  4. 04

    拆分审核告警与执行风险

    在隔离环境运行所选组件的审核流程,逐条分类 SQL 规则告警、解析不支持、权限不足、审核服务不可达及版本不匹配。结合受控执行计划、索引、数据规模和并发基线评估扫描与锁风险;不要对生产数据执行未知代价的分析,也不通过全局关闭审核规则获得绿色结果。

    验证标准

    每个告警都有解释、处理决定和复核人,业务语义由数据负责人确认。预计行数、耗时与锁预算有依据;演练环境和生产差异注明,审核通过未被写成无风险保证。

    停止与回退

    审核能力异常即暂停审批,修复候选配置或语句后重新检查。停止本轮测试时只回收明确测试资源,保留审核报告,不删除或修改真实业务索引来降低演练告警。

    返回步骤起点
  5. 05

    验证备份及可恢复范围

    为受影响对象记录备份位置、时间、日志覆盖、访问身份和保存期,在隔离副本完成样本恢复并核对结构与数据。评审已有业务写入与补偿语句可能发生的冲突。MySQL DDL 隐式提交及已提交 DML 单独处理;生成回滚 SQL 有前提,不作为任意语句的一键撤销承诺。

    验证标准

    恢复样本真实可读且内容符合预期,耗时、覆盖缺口与可接受数据丢失窗口有记录。审批人明确知道哪些对象不可用普通事务回退;没有恢复证据的高风险变更不能进入执行阶段。

    停止与回退

    恢复失败或覆盖不足时停止变更,修正备份与恢复流程后再验证。保留备份本体,不通过缩短历史日志保留来腾空间;隔离恢复实例的回收需精确核对目标,不能触及源库。

    返回步骤起点
  6. 06

    按批准窗口执行并控制批次

    授权执行人在窗口内再次核对 SQL 摘要、目标、备份及当前负载,再通过既定 Archery 执行路径推进首批。记录提交时间、任务标识、实际影响行数、耗时和数据库状态,达到约定门槛后才能继续。长锁等待、复制异常、范围超限或维护冲突时停止后续批次;页面停止按钮不等于已撤销数据库事务。

    验证标准

    首批执行结果可与数据库事实相互印证,影响范围和运行指标均在预算内。任何网络超时都先标记结果待确认,由任务记录与数据库状态判断是否已经提交,未经确认禁止重复点击执行。

    停止与回退

    未执行批次可停止排队;正在执行或已提交部分由 DBA 先确认状态,再评审终止、补偿或恢复。不要直接重跑整单,也不把 DDL 放进 ROLLBACK 模板宣称已经恢复。

    返回步骤起点
  7. 07

    联合核验结构、数据与业务

    按申请的对象和预期检查结构差异、影响行数、必要的数据样本及关键业务请求,查询范围保持受限。对存在复制的实例核对追平情况与业务读路由;把成功、失败和部分成功分别记录。若界面状态与数据事实不一致,优先停止扩批并保存时间线,不修改工单状态掩盖异常。

    验证标准

    业务验收人与 DBA 分别确认业务和数据结果,观察窗口内无新增异常锁等待、错误率或不可接受的复制延迟。敏感样本已脱敏,未覆盖测试项和延后处理对象有负责人。

    停止与回退

    数据校验失败先限制继续变更,按受影响范围设计补偿或从已验证备份恢复,另行评审批次和新写入冲突。不得为了还原旧值覆盖变更后合法业务写入;恢复后重新执行同一验收清单。

    返回步骤起点
  8. 08

    归档工单与失败复盘

    归档 SQL 摘要、审批、目标身份、审核结果、备份证明、执行记录、验收及停止恢复决定。将结果不明、超时或手工补偿的原因补入知识手册,明确后续风险与观察负责人;工单公开摘要不带密码、连接串或原始业务数据。变更成功也保留恢复边界与未演练项。

    验证标准

    审计人能够按变更编号回答谁批准、何时对哪个实例执行了什么,以及如何验收和恢复。待办与异常未被提前关闭,日志和备份保留符合既定策略,方案验证状态未被冒进升级。

    停止与回退

    归档错误用追加修订更正,不删除实际执行日志。未验收或部分成功的工单保持相应状态,后续数据修复建立新工单,不沿用原批准无限追加 SQL。

    返回步骤起点

DOUYA OPS ECOSYSTEM

体验豆芽自研工具与场景能力

部分场景提供体验环境,用于功能验证、测试和技术交流。