---
title: "备份恢复"
method: POST
path: "/mysql/restore-dr"
tags: ["mysql"]
---

# 备份恢复

`POST /mysql/restore-dr`

物理备份、逻辑备份恢复

## Request body

- DbmServicesMysqlDbToolsDbactuatorPkgComponentsMysqlRestoreRestoreDRComp
  - `extend` DbmServicesMysqlDbToolsDbactuatorPkgComponentsMysqlRestoreRestoreParam
    - `backup_dir` string, required — 备份文件所在本地目录，理论上doDr不会对该目录写入，而是写入 targetDir
    - `backup_files` object, required — 备份文件名列表，key 是 info|full|priv|index, value 是是相对于 backup_dir 的文件名列表
    - `change_master` boolean — 恢复完成后是否执行 change master，会 change master 到 src_instance
    - `restore_opts` DbmServicesMysqlDbToolsDbactuatorPkgComponentsMysqlRestoreRestoreOpt
      - `databases` string[] — 恢复哪些 db，当前只对 逻辑恢复有效
      - `enable_binlog` boolean — EnableBinlog 导入数据时是否写binlog，默认不启用
      - `ignore_databases` string[]
      - `ignore_tables` string[]
      - `recover_binlog` boolean — 在指定时间点回档场景才需要，是否恢复 binlog。在 doSlave 场景，是不需要 recover_binlog。这个选项是控制下一步恢复binlog的行为 当 recover_binlog 时，要确保实例的所有库表结构都恢复。在逻辑回档场景，只回档部分库表数据时，依然要恢复所有表结构
      - `recover_privs` boolean
      - `source_binlog_format` '' | 'ROW' | 'STATEMENT' | 'MIXED' — 在库表级定点回档时有用，如果是 statement/mixed 格式，导入数据时需要全部导入； 如果是 row，可只导入指定库表数据, 在 recover-binlog 时可指定 quick_mode=true 也恢复指定库表 binlog
      - `tables` string[]
    - `src_instance` DbmServicesMysqlDbToolsDbactuatorPkgNativeInstance
      - `host` string — 当前实例的主机地址
      - `port` integer — 当前实例的端口
    - `tgt_instance` DbmServicesMysqlDbToolsDbactuatorPkgNativeInsObject
      - `charset` string — 连接字符集
      - `host` string — 当前实例的主机地址
      - `options` string — 其它选项
      - `port` integer — 当前实例的端口
      - `pwd` string — 连接当前实例的User Pwd
      - `socket` string — 连接socket
      - `user` string — 连接当前实例的User
    - `tools` DbmServicesMysqlDbToolsDbactuatorPkgToolsToolSet
      - `tools` object — 外部指定工具路径
    - `work_dir` string, required — 备份恢复目录，工作目录
    - `work_id` string — work_id 标识本次恢复，若为0则为当前时间戳
  - `general` DbmServicesMysqlDbToolsDbactuatorPkgComponentsGeneralParam
    - `runtime_account` DbmServicesMysqlDbToolsDbactuatorPkgComponentsRuntimeAccountParam
      - `admin_pwd` string — mysql admin 密码，环境变量 GENERAL_ACCOUNT_admin_pwd
      - `admin_user` string — mysql admin 账户，环境变量 GENERAL_ACCOUNT_admin_user
      - `backup_pwd` string — dbbackup pwd
      - `backup_user` string — dbbackup user
      - `monitor_access_all_pwd` string — mysql monitor@% 密码
      - `monitor_access_all_user` string — mysql monitor@%
      - `monitor_pwd` string — mysql monitor 密码，环境变量 GENERAL_ACCOUNT_monitor_pwd
      - `monitor_user` string — mysql monitor 账户，环境变量 GENERAL_ACCOUNT_monitor_user
      - `proxy_admin_pwd` string — proxy admin pwd
      - `proxy_admin_user` string — proxy admin user
      - `repl_pwd` string — repl pwd, 环境变量 GENERAL_ACCOUNT_repl_pwd
      - `repl_user` string — repl user, 环境变量 GENERAL_ACCOUNT_repl_user
      - `tdbctl_pwd` string
      - `tdbctl_user` string
      - `yw_pwd` string — yw pwd
      - `yw_user` string — yw user
    - `runtime_extend` DbmServicesMysqlDbToolsDbactuatorPkgComponentsRuntimeExtend
      - `mysql_sys_users` string[]
  - `resume` boolean — 是否是中断后继续执行

## Response `200`

OK

---

[API](https://skmtc.net/tencentblueking/apis/dbactuator-api.md) · [All operations](https://skmtc.net/tencentblueking/apis/dbactuator-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tencentblueking/dbactuator-api/versions/dc22dd49fd50/schema)
