文档首页 > > API参考> API v3(推荐)> 备份与恢复>

恢复到新实例

恢复到新实例

分享
更新时间:2021/01/14 GMT+08:00

功能介绍

从备份恢复到新实例。

接口约束

  • 源实例和目标实例的数据库类型必须一致,如都是MySQL。
  • RDS所有引擎的源实例和目标实例的数据库版本必须一致。
  • 目标实例的数据卷总大小,大于或等于源实例的数据卷总大小。

URI

  • URI格式

    POST https://{Endpoint}/v3/{project_id}/instances

  • URI样例

    https://rds.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances

  • 参数说明
    表1 参数说明

    名称

    是否必选

    说明

    project_id

    租户在某一region下的project ID。

    获取方法请参见获取项目ID

请求消息

  • 参数说明
    表2 参数说明

    名称

    是否必选

    参数类型

    说明

    name

    String

    实例名称。

    用于表示实例的名称,同一租户下,同类型的实例名可重名,其中,SQL Server实例名唯一。

    取值范围:4~64个字符之间,必须以字母开头,不区分大小写,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。

    ha

    Object

    HA配置参数,创建HA实例时使用。

    详情请参见表3

    configuration_id

    String

    参数模板ID。

    port

    String

    数据库端口信息。

    • MySQL数据库端口设置范围为1024~65535(其中12017和33071被RDS系统占用不可设置)。
    • PostgreSQL数据库端口修改范围为2100~9500。
    • Microsoft SQL Server实例的端口设置范围为1433和2100~9500(其中5355和5985不可设置。对于2017 EE、2017 SE、2017 Web版,5050、5353和5986不可设置)。

    当不传该参数时,默认端口如下:

    • MySQL默认3306。
    • PostgreSQL默认5432。
    • Microsoft SQL Server默认1433。

    password

    String

    数据库密码。

    取值范围:

    • MySQL、PostgreSQL数据库支持的密码长度是8~32个字符,至少包含大写字母、小写字母、数字、特殊字符三种字符的组合,其中允许输入~!@#%^*-_=+?特殊字符。
    • SQL Server数据库支持的密码长度是8~32个字符,至少包含大写字母、小写字母、数字、特殊字符三种字符的组合,其中允许输入~!@#$%^*-_=+?特殊字符。

    建议您输入高强度密码,以提高安全性,防止出现密码被暴力破解等安全风险。

    backup_strategy

    Object

    高级备份策略。

    详情请参见表4

    enterprise_project_id

    String

    项目标签。

    disk_encryption_id

    String

    用于磁盘加密的密钥ID,默认为空。

    flavor_ref

    String

    规格码,取值范围:非空,。

    详情请参考查询数据库规格的响应消息中的“spec_code”

    volume

    Object

    volume信息。

    详情请参见表5

    availability_zone

    String

    可用区ID。对于数据库实例类型不是单机的实例,需要分别为实例所有节点指定可用区,并用逗号隔开。详见示例。

    取值范围:非空,请参见地区和终端节点

    vpc_id

    String

    虚拟私有云ID,获取方法如下:

    • 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。
    • 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询VPC列表

    subnet_id

    String

    子网的网络ID信息,获取方法如下:

    • 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。
    • 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询子网列表

    data_vip

    String

    指定实例的内网IP,获取方法如下:

    • 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找子网的网段。
    • 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询子网

    security_group_id

    String

    指定实例所属的安全组。

    • 方法1:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。
    • 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询安全组列表

    restore_point

    Object

    恢复数据源对象。

    详情请参见表6

    charge_info

    Object

    计费类型信息,支持包年包月和按需,默认为按需。目前,仅Microsoft SQL Server支持包年包月模式下的恢复到新实例功能。

    详情请参见表7

    time_zone

    String

    UTC时区。

    • 不选择时,各个引擎时区如下:
      • MySQL国内站、国际站默认为UTC时间。
      • PostgreSQL国内站、国际站默认为UTC时间。
      • Microsoft SQL Server国内站默认为China Standard Time,国际站默认为UTC时间。
    • MySQL和PostgreSQL引擎选择填写时,取值范围为UTC-12:00~UTC+12:00,且只支持整段时间,如UTC+08:00,不支持UTC+08:30。
    • Microsoft SQL Server引擎选择填写时,请参见表10

    collation

    String

    仅限Microsoft SQL Server实例创建使用。对于MySQL和PostgreSQL实例,该参数无意义。

    取值范围:根据查询SQL Server可用字符集查询可设置的字符集。

    表3 ha字段数据结构说明

    名称

    是否必选

    参数类型

    说明

    mode

    String

    实例主备模式,取值:Ha(主备),不区分大小写。

    replication_mode

    String

    备机同步参数。

    取值:非空。

    • MySQL为“async”或“semisync”。
    • PostgreSQL为“async”或“sync”。
    • Microsoft SQL Server为“sync”。
    说明:
    • “async”为异步模式。
    • “semisync”为半同步模式。
    • “sync”为同步模式。
    表4 backup_strategy字段数据结构说明

    名称

    是否必选

    参数类型

    说明

    start_time

    String

    备份时间段。自动备份将在该时间段内触发。

    取值范围:非空,格式必须为hh:mm-HH:MM且有效,当前时间指UTC时间。

    • HH取值必须比hh大1。
    • mm和MM取值必须相同,且取值必须为00、15、30或45。

    取值示例:

    • 08:15-09:15
    • 23:00-00:00

    keep_days

    Integer

    指定备份文件的可保存天数。

    取值范围:0~732。该参数缺省,或取值为0,表示关闭自动备份策略。如果需要延长保留时间请联系客服人员申请,自动备份最长可以保留2562天。

    表5 volume字段数据结构说明

    名称

    是否必选

    参数类型

    说明

    type

    String

    磁盘类型。

    取值范围如下,区分大小写:

    • ULTRAHIGH,表示SSD。

    size

    Integer

    磁盘大小。

    取值范围:40GB~4000GB。必须为10的整数倍。

    部分用户支持40GB~6000GB,如果您想创建存储空间最大为6000GB的数据库实例,或提高扩容上限到10000GB,请联系客服开通。

    须知:

    新实例磁盘大小必须大于或等于原实例的磁盘大小。

    表6 restore_point字段数据结构说明

    名称

    是否必选

    参数类型

    说明

    instance_id

    String

    实例ID。

    type

    String

    表示恢复方式,枚举值:

    • “backup”,表示使用备份文件恢复,按照此方式恢复时,当“type”字段为非必选时,“backup_id”必选。
    • “timestamp”,表示按时间点恢复,按照此方式恢复时,当“type”字段必选时,“restore_time”必选。

    backup_id

    String

    用于恢复的备份ID。当使用备份文件恢复时需要指定该参数。

    须知:

    “type”字段为非必选时,“backup_id”必选。

    restore_time

    Integer

    恢复数据的时间点,格式为UNIX时间戳,单位是毫秒,时区为UTC。

    须知:

    “type”字段必选时,“restore_time”必选。

    database_name

    Map<String, String>

    仅适用于SQL Server引擎,当有此参数时表示支持局部恢复和重命名恢复,恢复数据以局部恢复为主。

    • 新数据库名称不可与源实例数据库名称重名,新数据库名称为空,默认按照原数据库名进行恢复。
      须知:

      不填写该字段时,默认恢复全部数据库。

      示例:”database_name”:{“原库名”:”新库名”}

    • 新数据库名不能包含rdsadmin、master、msdb、tempdb、model或resource字段(不区分大小写)。
    • 数据库名称长度在1~64个字符之间,包含字母、数字、下划线或中划线,不能包含其他特殊字符。
    表7 charge_info字段数据结构说明

    名称

    是否必选

    参数类型

    说明

    charge_mode

    String

    计费模式。

    取值范围:

    • prePaid:预付费,即包年/包月。
    • postPaid:后付费,即按需付费。

    period_type

    String

    订购周期类型。

    取值范围:

    • month:包月。
    • year:包年。
      说明:

      “charge_mode”“prePaid”时生效,且为必选值。

    period_num

    Integer

    “charge_mode”“prePaid”时生效,且为必选值,指定订购的时间。

    取值范围:

    • “period_type”“month”时,取值为1~9。
    • “period_type”“year”时,取值为1~3。

    is_auto_renew

    boolean

    创建包周期实例时可指定,表示是否自动续订,续订的周期和原周期相同,且续订时会自动支付。

    • true,为自动续订。
    • false,为不自动续订,默认该方式。

    is_auto_pay

    boolean

    创建包周期时可指定,表示是否自动从客户的账户中支付,此字段不影响自动续订的支付方式。

    • true,为自动支付。
    • false,为手动支付,默认该方式。

  • 请求样例

    使用备份文件恢复:

    MySQL/PostgeSQL:

    {
    	"name": "targetInst",
    	"availability_zone": "bbb,ccc",
    	"ha": {
    		"mode": "ha",
    		"replication_mode": "async"
    	},
    	"flavor_ref": "rds.mysql.s1.large",
    	"volume": {
    		"type": "ULTRAHIGH",
    		"size": 40
    	},
    	"disk_encryption_id": "2gfdsh-844a-4023-a776-fc5c5fb71fb4",
    	"vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce",
    	"subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
    	"data_vip": "192.168.0.147",
    	"security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5",
    	"backup_strategy": {
    		"keep_days": 2,
    		"start_time": "19:00-20:00"
    	},
    	"password": "Demo@12345678",
    	"configuration_id": "52e86e87445847a79bf807ceda213165pr01",
    	"enterprise_project_id": "ba1f7fc8-3307-42a7-aa6f-42c8b9b8f85c",
    	"time_zone": "UTC+04:00",
    	"restore_point": {
    		"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01",
    		"type": "backup",
    		"backup_id": "2f4ddb93-b901-4b08-93d8-1d2e472f30fe"
    	}
    }

    Microsoft SQL Server:

    {
    	"name": "targetInst",
    	"availability_zone": "bbb,ccc",
    	"ha": {
    		"mode": "ha",
    		"replication_mode": "sync"
    	},
    	"flavor_ref": "rds.mssql.2014.se.s3.xlarge.2.ha",
    	"volume": {
    		"type": "ULTRAHIGH",
    		"size": 40
    	},
    	"disk_encryption_id": "2gfdsh-844a-4023-a776-fc5c5fb71fb4",
    	"vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce",
    	"subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
    	"data_vip": "192.168.0.147",
    	"security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5",
    	"backup_strategy": {
    		"keep_days": 2,
    		"start_time": "19:00-20:00"
    	},
           "charge_info": {
    	       "charge_mode": "prePaid",		
                   "period_type": "month","
                   "period_num": 1,
                   "is_auto_renew": false,	"
                   "is_auto_pay": true
           },
    	"password": "Demo@12345678",
    	"configuration_id": "52e86e87445847a79bf807ceda213165pr04",
    	"enterprise_project_id": "ba1f7fc8-3307-42a7-aa6f-42c8b9b8f85c",
    	"time_zone": "UTC+04:00",
            "collation":"Cyrillic_General_CI_AS",
    	"restore_point": {
    		"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin04",
    		"type": "backup",
    		"backup_id": "2f4ddb93-b901-4b08-93d8-1d2e472f30fe",
    		"database_name": {
    			"db1": "dbtest1",
    			"db2": ""
    		}
    	}
    }

    按时间点恢复:

    MySQL/PostgeSQL:

    {
    	"name": "targetInst",
    	"availability_zone": "bbb,ccc",
    	"ha": {
    		"mode": "ha",
    		"replication_mode": "async"
    	},
    	"flavor_ref": "rds.mysql.s1.large",
    	"volume": {
    		"type": "ULTRAHIGH",
    		"size": 40
    	},
    	"disk_encryption_id": "2gfdsh-844a-4023-a776-fc5c5fb71fb4",
    	"vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce",
    	"subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
    	"security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5",
    	"data_vip": "192.168.0.147",
    	"backup_strategy": {
    		"keep_days": 2,
    		"start_time": "19:00-20:00"
    	},
    	"password": "Demo@12345678",
    	"configuration_id": "52e86e87445847a79bf807ceda213165pr01",
    	"enterprise_project_id": "ba1f7fc8-3307-42a7-aa6f-42c8b9b8f85c",
    	"time_zone": "UTC+04:00",
    	"restore_point": {
    		"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01",
    		"type": "timestamp",
    		"restore_time": 1532001446987
    	}
    }

    Microsoft SQL Server:

    {
    	"name": "targetInst",
    	"availability_zone": "bbb,ccc",
    	"ha": {
    		"mode": "ha",
    		"replication_mode": "sync"
    	},
    	"flavor_ref": "rds.mssql.2014.se.s3.xlarge.2.ha",
    	"volume": {
    		"type": "ULTRAHIGH",
    		"size": 40
    	},
    	"disk_encryption_id": "2gfdsh-844a-4023-a776-fc5c5fb71fb4",
    	"vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce",
    	"subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
    	"data_vip": "192.168.0.147",
    	"security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5",
    	"backup_strategy": {
    		"keep_days": 2,
    		"start_time": "19:00-20:00"
    	},
            "charge_info": {
    	       "charge_mode": "prePaid",		
                   "period_type": "month","
                   "period_num": 1,
                   "is_auto_renew": false,	"
                   "is_auto_pay": true
           },
    	"password": "Demo@12345678",
    	"configuration_id": "52e86e87445847a79bf807ceda213165pr04",
    	"enterprise_project_id": "ba1f7fc8-3307-42a7-aa6f-42c8b9b8f85c",
    	"time_zone": "UTC+04:00",
            "collation":"Cyrillic_General_CI_AS",
    	"restore_point": {
    		"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin04",
    		"type": "timestamp",
    		"restore_time": 1532001446987,
    		"database_name": {
    			"db1": "dbtest1",
    			"db2": ""
    		}
    	}
    }

响应消息

  • 正常响应要素说明
    表8 要素说明

    名称

    参数类型

    说明

    instance

    Object

    实例信息。

    详情请参见表9

    job_id

    String

    实例创建的任务id。仅按需实例时返回该参数。

    order_id

    String

    订单号,仅SQL Server创建包年包月时返回该参数。

    表9 instance说明

    名称

    参数类型

    说明

    id

    String

    实例id。

    name

    String

    实例名称。

    用于表示实例的名称,同一租户下,同类型的实例名可重名,其中,SQL Server实例名唯一。

    取值范围:4~64个字符之间,必须以字母开头,不区分大小写,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。

    status

    String

    实例状态。如BUILD,表示创建中。

    datastore

    Object

    数据库信息。

    详情请参见表10

    ha

    Object

    HA配置参数,仅当您选择创建HA实例时该参数才可见。

    详情请参见表11

    configuration_id

    String

    参数模板id,仅当您创建实例指定用户自定义参数组时才可见。

    port

    String

    数据库端口信息。

    • MySQL数据库端口设置范围为1024~65535(其中12017和33071被RDS系统占用不可设置)。
    • PostgreSQL数据库端口修改范围为2100~9500。
    • Microsoft SQL Server实例的端口设置范围为1433和2100~9500(其中5355和5985不可设置。对于2017 EE、2017 SE、2017 Web版,5050、5353和5986不可设置)。

    当不传该参数时,默认端口如下:

    • MySQL默认3306。
    • PostgreSQL默认5432。
    • Microsoft SQL Server默认1433。

    backup_strategy

    Object

    自动备份策略。

    详情请参见表12

    enterprise_project_tag

    String

    项目标签。

    flavor_ref

    String

    规格ID。

    使用可参考查询数据库规格响应消息表3中的“spec_code”

    volume

    Object

    volume信息。

    详情请参见表13

    region

    String

    区域ID。

    availability_zone

    String

    可用区ID。

    vpc_id

    String

    虚拟私有云ID,获取方法如下:

    • 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。
    • 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询VPC列表

    subnet_id

    String

    子网的网络ID信息,获取方法如下:

    • 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。
    • 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询子网列表

    security_group_id

    String

    指定实例所属的安全组。

    • 方法1:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。
    • 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询安全组列表

    collation

    String

    Microsoft SQL Server设定的字符集信息。

    charge_info

    Object

    付费方式信息,支持包年/包月和按需。

    详情请参见表7

    表10 datastore字段数据结构说明

    名称

    是否必选

    参数类型

    说明

    type

    String

    数据库引擎。支持的引擎如下,不区分大小写:

    • MySQL
    • PostgreSQL
    • SQLServer

    version

    String

    数据库版本。

    数据库支持的详细版本信息,可调用查询数据库引擎的版本接口获取。

    表11 ha字段数据结构说明

    名称

    是否必选

    参数类型

    说明

    mode

    String

    实例主备模式,取值:Ha(主备)。

    replication_mode

    String

    备机同步参数。

    取值:非空。

    • MySQL为“async”或“semisync”。
    • PostgreSQL为“async”或“sync”。
    • Microsoft SQL Server为“sync”。
    说明:
    • “async”为异步模式。
    • “semisync”为半同步模式。
    • “sync”为同步模式。
    表12 backupStrategy字段数据结构说明

    名称

    是否必选

    参数类型

    说明

    start_time

    String

    备份时间段。自动备份将在该时间段内触发。

    取值范围:非空,格式必须为hh:mm-HH:MM且有效,当前时间指UTC时间。

    • HH取值必须比hh大1。
    • mm和MM取值必须相同,且取值必须为00、15、30或45。

    取值示例:

    • 08:15-09:15
    • 23:00-00:00

    keep_days

    Integer

    指定已生成备份文件的可保存天数。

    取值范围:0~732。该参数缺省,或取0值,表示关闭自动备份策略。如果需要延长保留时间请联系客服人员申请,自动备份最长可以保留2562天。

    表13 volume字段数据结构说明

    名称

    是否必选

    参数类型

    说明

    type

    String

    磁盘类型。

    取值范围如下,区分大小写:

    • ULTRAHIGH,表示SSD。

    size

    Integer

    磁盘大小。

    取值范围:40GB~4000GB。必须为10的整数倍。

    部分用户支持40GB~6000GB,如果您想创建存储空间最大为6000GB的数据库实例,或提高扩容上限到10000GB,请联系客服开通。

  • 正常响应样例

    MySQL

    {
    	"instance": {
    		"id": "f5ffdd8b1c98434385eb001904209eacin01",
    		"name": "demoname",
    		"status": "BUILD",
    		"datastore": {
    			"type": "MySQL",
    			"version": "5.6.41"
    		},
    		"port": "3306",
    		"volume": {
    			"type": "ULTRAHIGH",
    			"size": "40"
    		},
    		"region": "aaa",
    		"backup_strategy": {
    			"start_time": "02:00-03:00",
    			"keep_days": "7"
    		},
    		"flavor_ref": "rds.mysql.s1.large",
    		"availability_zone": "bbb",
    		"vpc_id": "19e5d45d-70fd-4a91-87e9-b27e71c9891f",
    		"subnet_id": "bd51fb45-2dcb-4296-8783-8623bfe89bb7",
    		"security_group_id": "23fd0cd4-15dc-4d65-bdb3-8844cc291be0"
    	},
    	"job_id": "bf003379-afea-4aa5-aa83-4543542070bc"
    }

    SQL Server

    {
    	"instance": {
    		"id": "f5ffdd8b1c98434385eb001904209eacin01",
    		"name": "demoname",
    		"status": "BUILD",
    		"datastore": {
    			"type": "sqlserver",
    			"version": "2014_SE"
    		},
    		"port": "2100",
    		"volume": {
    			"type": "ULTRAHIGH",
    			"size": "40"
    		},
    		"region": "aaa",
    		"backup_strategy": {
    			"start_time": "02:00-03:00",
    			"keep_days": "7"
    		},
    		"flavor_ref": "rds.mssql.2014.se.s3.large.2",
    		"availability_zone": "bbb",
    		"vpc_id": "19e5d45d-70fd-4a91-87e9-b27e71c9891f",
    		"subnet_id": "bd51fb45-2dcb-4296-8783-8623bfe89bb7",
    		"security_group_id": "23fd0cd4-15dc-4d65-bdb3-8844cc291be0",
                    "charge_info": {           
                           "charge_mode": "prePaid",            
                           "period_num": 1        
                     },        
                    "collation": "Cyrillic_General_CI_AS"
    	},
    	"order_id": "CS20122919584LQ7K"
    }
  • 异常响应

    请参见异常请求结果

状态码

请参见状态码

错误码

请参见错误码

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问