华为云用户手册

  • 注意事项 为保证任务的正常运行,DRS提供了自动化的检查方法,在您启动DRS任务前,会针对源数据库和目标数据库的相关配置、条件进行检查。主要的检查项和对应的处理建议请参考DRS预检查项一览表。除了预检查项目之外,您还需要注意的事情如表4所示 表4 注意事项 类型名称 使用和操作限制 源数据库限制 源库不支持阿里云RDS的只读副本。 如果源数据库为自建库,并且安装了Percona Server for MySQL 5.6.x或Percona Server for MySQL 5.7.x时,内存管理器必须使用Jemalloc库,以避免因系统表频繁查询带来的内存回收不及时,并最终导致数据库Out of Memory问题。 源数据库不支持mysql binlog dump命令。 源数据库不支持reset master或reset master to命令,可能会导致DRS任务失败或者数据不一致。 相互关联的数据对象要确保同时迁移,避免迁移因关联对象缺失,导致迁移失败。 不支持外键级联操作。当外键是普通索引的时候,可能会导致表结构创建失败,建议改成唯一索引。 由于MySQL本身限制,若源库的一次性事件(EVENT)设定的触发时间在迁移开始前,该事件(EVENT)不会迁移到目标库。 使用限制 通用: 整个迁移过程中,不建议修改、删除连接源和目标数据库的用户的用户名、密码、权限,或修改源和目标数据库的端口号。 整个迁移过程中,不允许对正在迁移中的目标数据库进行修改操作(包括但不限于DDL、DML操作)。 整个迁移过程中,不允许源库写入binlog格式为statement的数据。 整个迁移过程中,不允许源库执行清除binlog的操作。 整个迁移过程中,不允许在源库创建库名为ib_logfile的数据库。 整个迁移过程中,不允许修改目标数据库主节点的浮动IP到只读节点。如果进行了修改,数据将会写入到只读节点,导致目标数据库和源数据库数据不一致。 需要DRS任务迁移索引的情况下,目标库对应表上不能存在同名但不同列信息的索引。全量阶段DRS会忽略对应表上已存在的同名索引,增量阶段DDL根据索引名操作索引时会触发错位问题。 全量迁移阶段: 任务启动和全量数据迁移阶段,请不要在源数据库执行DDL操作,否则可能导致任务异常。 增量迁移阶段: 选择表级对象迁移时,增量迁移过程中不支持对表进行重命名操作。 增量迁移阶段,不支持源数据库进行恢复到某个备份点的操作(PITR)。 增量迁移阶段,支持断点续传功能,在主机系统崩溃的情况下,对于非事务性的无主键的表可能会出现重复插入数据的情况。 增量迁移阶段,支持DDL语句。 结束任务: 任务正常结束: 在结束迁移任务时,将进行所选事件(EVENT)和触发器(TRIGGER)的迁移。请确保任务结束前,不要断开源和目标数据库的网络连通性,并在结束任务时关注迁移日志上报的状态,达到数据库完整迁移效果。 任务强制结束: 强制结束将直接释放DRS资源,不会进行触发器、事件的迁移,请参考手工迁移触发器、事件。如果需要DRS进行触发器、事件迁移,请先修复DRS任务,待任务状态正常后,再正常结束任务。 常见故障排查: 在任务创建、启动、全量同步、增量同步、结束等过程中,如有遇到问题,可先参考“故障排查”章节进行排查。 其他限制 若专属计算集群不支持4vCPU/8G或以上规格实例,则无法创建迁移任务。 目标数据库实例必须是 GaussDB (for MySQL)主备实例。 多对一场景下,创建迁移任务时,目标库读写设置需要跟已有任务设置为一致。 由于无主键表缺乏行的唯一性标志,网络不稳定时涉及少量重试,表数据存在少量不一致的可能性。 对于表中的物理生成列,如果列是根据一个时间类型生成的,会存在此列数据不一致的可能性。 不支持目标数据库恢复到全量迁移时间段范围内的PITR操作。 源库和目标库为RDS for MySQ L实例 时,不支持带有TDE特性并建立具有加密功能表。 如果源库MySQL不支持TLS1.2协议,或者为版本较低的自建库(低于5.6.46或在5.7.0-5.7.28之间),需提交运维申请才能使用SSL测试连接。 在创建DRS任务之前,如果源或者目标数据库实例开启并设置了SQL限流规则,可能会导致DRS任务失败。 迁移任务目标数据库可以设置“只读”和“读写”。 只读:目标数据库实例将转化为只读、不可写入的状态,迁移任务结束后恢复可读写状态,此选项可有效的确保数据迁移的完整性和成功率,推荐此选项。 读写:目标数据库可以读写,但需要避免操作或接入应用后会更改迁移中的数据(注意:无业务的程序常常也有微量的数据操作),进而形成数据冲突、任务故障、且无法修复续传,充分了解要点后可选择此选项。
  • 方式一 在“实时迁移管理”页面的迁移列表中,选择要修改的任务,单击“编辑”。 在“源库及目标库”页面,填写源库和目标库信息,单击“下一步”。 在“迁移设置”页面,设置迁移用户和迁移对象,单击“下一步”。 图1 迁移模式 表1 迁移模式和迁移对象 参数 描述 流速模式 流速模式支持限速和不限速,默认为不限速。限速模式只对全量阶段生效,增量阶段不生效。 限速 自定义的最大迁移速度,迁移过程中每个任务(多任务时为每个子任务)的迁移速度将不会超过该速度。 当流速模式选择了“限速”时,你需要通过流速设置来定时控制迁移速度。流速设置通常包括限速时间段和流速大小的设置。默认的限速时间段为“全天限流”,您也可以根据业务需求选择“时段限流”。自定义的时段限流支持最多设置3个定时任务,每个定时任务之间不能存在交叉的时间段,未设定在限速时间段的时间默认为不限速。 流速的大小需要根据业务场景来设置,不能超过9999MB/s。 图2 设置流速模式 不限速 对迁移速度不进行限制,通常会最大化使用源数据库的出口带宽。该流速模式同时会对源数据库造成读消耗,消耗取决于源数据库的出口带宽。比如源数据库的出口带宽为100MB/s,假设高速模式使用了80%带宽,则迁移对源数据库将造成80MB/s的读操作IO消耗。 说明: 限速模式只对全量迁移阶段生效,增量迁移阶段不生效。 您也可以在创建任务后修改流速模式。具体方法请参见修改流速模式。 迁移增量账号及权限 选择数据库迁移过程中,是否迁移增量账号。 是 DRS迁移全部增量账号以及权限。因为源和目标数据库版本、账号加密方式等不同,DRS无法保证增量账号迁移全部成功。 否 DRS会过滤全部增量账号以及权限。 迁移用户 数据库的迁移过程中,迁移用户需要进行单独处理。 常见的迁移用户一般分为三类:可完整迁移的用户、需要降权的用户和不可迁移的用户。您可以根据业务需求选择迁移或者不迁移,选择“是”后,可根据需要选择迁移用户。 是 当您选择迁移用户时,请参见迁移用户章节进行数据库用户、权限及密码的处理。 否 迁移过程中,将不进行数据库用户、权限和密码的迁移。 过滤DROP DATABASE 实时迁移过程中,为了降低迁移数据的风险, 数据复制服务 提供了过滤删除数据库操作的功能。 是,表示实时迁移过程中不会迁移用户在源数据库端执行的删除数据库的操作。 否,则表示实时迁移过程中将相关操作迁移到目标库。 迁移对象 左侧框是源数据库对象,右侧框是已经选择的对象,您可以根据业务需求,选择全部对象迁移、表级迁移或者库级迁移。 全部迁移:将源数据库中的所有对象全部迁移至目标数据库,对象迁移到目标数据库实例后,对象名将会保持与源数据库实例对象名一致且无法修改。 表级迁移:将选择的表级对象迁移至目标数据库。 库级迁移:将选择的库级对象迁移至目标数据库。 如果有切换源数据库的操作或源库迁移对象变化的情况,请务必在选择迁移对象前单击右上角的,以确保待选择的对象为最新源数据库对象。 说明: 若选择部分数据库进行迁移时,由于存储过程、视图等对象可能与其他数据库的表存在依赖关系,若所依赖的表未迁移,则会导致迁移失败。建议您在迁移之前进行确认,或选择全部数据库进行迁移。 当对象名称包含空格时,名称前后的空格不显示,中间如有多个空格只显示一个空格。 选择的迁移对象名称中不能包含空格。 选择对象的时候支持对展开的库进行搜索,以便您快速选择需要的数据库对象。 在“预检查”页面,进行迁移任务预校验,校验是否可进行迁移。 查看检查结果,如有不通过的检查项,需要修复不通过项后,单击“重新校验”按钮重新进行迁移任务预校验。 预检查不通过项处理建议请参见《数据复制服务用户指南》中的“预检查不通过项修复方法”。 预检查完成后,且预检查通过率为100%时,单击“下一步”。 所有检查项结果均通过时,若存在待确认项,需要阅读并确认详情后才可以继续执行下一步操作。 在“任务确认”页面,设置迁移任务的启动时间,并确认迁移任务信息无误后,单击“启动任务”,提交迁移任务。 迁移任务的启动时间可以根据业务需求,设置为“立即启动”或“稍后启动”。 预计迁移任务启动后,会对源数据库和目标数据库的性能产生影响,建议选择业务低峰期,合理设置迁移任务的启动时间。 特定条件下,启动任务过程中目标数据库将被重启一次,可能会中断数据库业务的使用。 迁移任务提交后,您可在“实时迁移管理”页面,查看并管理自己的任务。 您可查看任务提交后的状态,状态请参见任务状态说明。 在任务列表的右上角,单击刷新列表,可查看到最新的任务状态。
  • 注意事项 为保证任务的正常运行,DRS提供了自动化的检查方法,在您启动DRS任务前,会针对源数据库和目标数据库的相关配置、条件进行检查。主要的检查项和对应的处理建议请参考DRS预检查项一览表。除了预检查项目之外,您还需要注意的事情如表4所示 表4 注意事项 类型名称 使用和操作限制 源数据库限制 源数据库不能是GeminiDB Mongo实例。 源数据库的库名不能包含/\."$和空格,集合名和视图名中不能包含$字符或以system.开头。 多个源数据库迁移到同一个目标数据库时,所选的待迁移数据库的库名不能重复。 副本集:MongoDB数据库的副本集实例状态必须正常,要存在主节点。 使用限制 通用: 整个迁移过程中,不允许修改、删除连接源和目标数据库的用户的用户名、密码、权限,或修改源和目标数据库的端口号。 整个迁移过程中,不允许对正在迁移中的目标数据库进行修改操作(包括但不限于DDL、DML操作)。 整个迁移过程中,不支持源数据库主备切换导致数据回滚的情况。 整个迁移过程中,不支持insert、update源库大于16MB的文档。 整个迁移过程中,源数据库不允许手动执行sh.moveChunk()操作,否则将导致迁移数据不一致。 全量迁移阶段: 任务启动和全量数据迁移阶段,请不要在源数据库执行DDL操作,否则可能导致任务异常。 增量迁移阶段: 选择集合迁移时,增量迁移过程中不建议对集合进行重命名操作。 数据对比: 建议在源库的业务低峰期进行数据比对,防止误报不一致数据,以及减少对源库和DRS任务的冲击。 在增量同步过程中做对比时,源库若存在写入,则对比结果可能不一致。 行对比时,集群实例如果存在孤儿文档或者正在进行chunk迁移,会导致返回的行数不准确,对比结果不一致。详细情况可参考MongoDB官方文档。 其他限制 源数据库为非集群实例时,增量迁移阶段支持如下操作: 支持数据库(database)新建、删除。 支持文档(document)新增、删除、更新。 支持集合(collection)新建、删除。 支持索引(index)新建、删除。 支持视图(view)新建,删除。 支持convertToCapped、collMod、renameCollection命令。 源库是集群实例时,集群到集群的全量+增量迁移,全量阶段和增量阶段,不允许对迁移对象做删除操作,否则会导致任务失败。 对于在源数据库已经存在TTL索引的集合,或者在增量迁移期间在源库数据创建了TTL索引的集合,由于源数据库和目标库数据库时区,时钟的不一致,不能保证迁移完成之后数据的一致性。 由于目标库不支持压缩参数的设置,DRS不迁移压缩参数,迁移任务不报错。 如果源数据库的MongoDB服务不是单独部署的,而是和其他的服务部署在同一台机器,则必须要给源数据库的wiredTiger引擎加上cacheSizeGB的参数配置,建议值设为最小空闲内存的一半。 如果源数据库是副本集,则建议填写所有的主节点和备节点信息,以防主备切换影响迁移任务。如果填写的是主备多个节点的信息,注意所有的节点信息必须属于同一个副本集实例。
  • 支持的迁移对象范围 在使用DRS进行迁移时,不同类型的迁移任务,支持的迁移对象范围不同,详细情况可参考表2。DRS会根据用户选择,在“预检查”阶段对迁移对象进行自动检查。 表2 支持的迁移对象 类型名称 使用须知 迁移对象范围 支持选择表级、库级或实例级(全部迁移)。 副本集:目前只支持集合(包括验证器,是否是固定集合),索引和视图的迁移。 集群:目前只支持集合(包括验证器,是否是固定集合),分片键,索引和视图的迁移。 单节点:目前只支持集合(包括验证器,是否是固定集合),索引和视图的迁移。 不支持视图的创建语句中有正则表达式。 不支持_id字段没有索引的集合。 不支持BinData()的第一个参数为2。 不支持范围分片的情况下maxKey当主键。 不支持源库集合的String类型字段中存储非UTF-8类型字符串,否则会导致迁移前后数据不一致。
  • 数据库账号权限要求 在使用DRS进行迁移时,连接源库和目标库的数据库账号需要满足以下权限要求,才能启动实时迁移任务。不同类型的迁移任务,需要的账号权限也不同,详细可参考表3进行赋权。DRS会在“预检查”阶段对数据库账号权限进行自动检查,并给出处理建议。 表3 数据库账号权限 类型名称 全量迁移 全量+增量迁移 源数据库连接账号 副本集:连接源数据库的用户需要有admin库的readAnyDatabase权限。 单节点:连接源数据库的用户需要有admin库的readAnyDatabase权限。 集群:连接源数据库的用户需要有admin库的readAnyDatabase权限,有config库的read权限。 如果需要迁移源数据库用户和角色信息,连接源数据库和目标库数据库的用户需要有admin数据库的系统表system.users、system.roles的read权限。 副本集:连接源数据库的用户需要有admin库的readAnyDatabase权限,有local库的read权限。 单节点:连接源数据库的用户需要有admin库的readAnyDatabase权限,有local库的read权限。 集群:连接源数据库mongos节点的用户需要有admin库的readAnyDatabase权限,有config库的read权限,连接源数据库分片节点的用户需要有admin库的readAnyDatabase权限,有local库的read权限。 如果需要迁移源数据库用户和角色信息,连接源数据库和目标库数据库的用户需要有admin数据库的系统表system.users、system.roles的read权限。 目标数据库连接账号 连接目标数据库的用户需要有admin库的dbAdminAnyDatabase权限,有目标数据库的readWrite权限。 对于目标数据库是集群的实例,迁移账号还要有admin库的clusterManager权限。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接源和目标数据库的账号密码修改后,请尽快修改DRS任务中的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。 用户赋权参考语句:连接源数据库的用户需要有admin库的readAnyDatabase权限和config库的read权限。 db.grantRolesToUser("用户名",[{role:"readAnyDatabase",db:"admin"}, {role:"read",db:"config"}])
  • 使用流程 一次完整的实时迁移,是通过创建实时迁移任务,以迁移任务作为数据库迁移的导向,依次进行迁移进度观察、迁移 日志分析 、迁移数据一致性对比等多项操作。通过多项指标和数据的对比分析,可以帮助您确定合适的业务割接时机,实现最小化业务中断的数据库迁移。 一次完整的实时迁移包含如下过程: 图1 迁移流程 步骤一:创建迁移任务。根据需要,选择源和目标数据库,创建迁移任务。 步骤二:查询迁移进度。迁移过程中,可以通过查看迁移进度了解数据迁移完成情况。 步骤三:查看迁移日志。迁移日志包含告警、错误和提示等类型的信息,可根据此类信息分析系统存在的问题。 步骤四:对比迁移项。数据迁移提供对比功能,可根据需要查看对象级对比、数据级对比等,来确保源和目标数据库的数据一致性。 本章节将以MySQL到RDS for MySQL的迁移为示例,介绍在VPC网络场景下,通过数据复制服务管理控制台配置数据迁移任务的流程,其他存储引擎的配置流程类似。 VPC网络适合云上同Region数据库之间的迁移。 在数据复制服务中,数据库迁移是通过任务的形式完成的,通过创建任务向导,可以完成任务信息配置、任务创建。迁移任务创建成功后,您也可以通过数据复制服务管理控制台,对任务进行管理。
  • 支持的迁移对象范围 在使用DRS进行迁移时,不同类型的迁移任务,支持的迁移对象范围不同,详细情况可参考表2。DRS会根据用户选择,在“预检查”阶段对迁移对象进行自动检查。 表2 支持的迁移对象 类型名称 使用须知 迁移对象范围 支持选择表级、库级或实例级(全部迁移)。 副本集:目前只支持集合(包括验证器,是否是固定集合),索引和视图的迁移。 集群:目前只支持集合(包括验证器,是否是固定集合),分片键,索引和视图的迁移。 单节点:目前只支持集合(包括验证器,是否是固定集合),索引和视图的迁移。 不支持迁移系统库(如local、admin、config等)的迁移,用户名和角色需要在目标库手动创建。 不支持视图的创建语句中有正则表达式。 不支持_id字段没有索引的集合。 不支持BinData()的第一个参数为2。 不支持源库集合的String类型字段中存储非UTF-8类型字符串,否则会导致迁移前后数据不一致。
  • 数据库账号权限要求 在使用DRS进行迁移时,连接源库和目标库的数据库账号需要满足以下权限要求,才能启动实时迁移任务。不同类型的迁移任务,需要的账号权限也不同,详细可参考表3进行赋权。DRS会在“预检查”阶段对数据库账号权限进行自动检查,并给出处理建议。 表3 数据库账号权限 类型名称 全量迁移 全量+增量迁移 源数据库连接账号 副本集:连接源数据库的用户需要有admin库的readAnyDatabase权限。 单节点:连接源数据库的用户需要有admin库的readAnyDatabase权限。 集群:连接源数据库的用户需要有admin库的readAnyDatabase权限,有config库的read权限。 副本集:连接源数据库的用户需要有admin库的readAnyDatabase权限,有local库的read权限。 单节点:连接源数据库的用户需要有admin库的readAnyDatabase权限,有local库的read权限。 目标数据库连接账号 连接目标数据库的用户需要有admin库的dbAdminAnyDatabase权限,有目标数据库的readWrite权限。 对于目标数据库是集群的实例,迁移账号还要有admin库的clusterManager权限。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接源和目标数据库的账号密码修改后,请尽快修改DRS任务中的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。 用户赋权参考语句:连接源数据库的用户需要有admin库的readAnyDatabase权限和config库的read权限。 db.grantRolesToUser("用户名",[{role:"readAnyDatabase",db:"admin"}, {role:"read",db:"config"}])
  • 支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 DDS实例(3.2、3.4、4.0、4.2、4.4版本) 本地自建Mongo数据库(3.2、3.6、3.4、4.0、4.2、4.4版本) E CS 自建Mongo数据库(3.2、3.6、3.4、4.0、4.2、4.4版本) 其他云上Mongo数据库(3.2、3.6、3.4、4.0、4.2、4.4版本) 说明: 仅支持目标库版本等于或高于源库版本。
  • 使用须知 为保证任务的正常运行,DRS提供了自动化的检查方法,在您启动DRS任务前,会针对源数据库和目标数据库的相关配置、条件进行检查。主要的检查项和对应的处理建议请参考DRS预检查项一览表。除了预检查项目之外,您还需要注意的事情如表4所示 表4 注意事项 类型名称 使用和操作限制 源数据库限制 源数据库的库名不能包含/\."$和空格,集合名和视图名中不能包含$字符或以system.开头。 多个源数据库迁移到同一个目标数据库时,所选的待迁移数据库的库名不能重复。 使用限制 通用: 整个迁移过程中,不允许修改、删除连接源和目标数据库的用户的用户名、密码、权限,或修改源和目标数据库的端口号。 整个迁移过程中,不允许对正在迁移中的目标数据库进行修改操作(包括但不限于DDL、DML操作)。 整个迁移过程中,不支持源数据库主备切换导致数据回滚的情况。 整个迁移过程中,不支持insert、update源库大于16MB的文档。 整个迁移过程中,源数据库不允许手动执行sh.moveChunk()操作,否则将导致迁移数据不一致。 全量迁移阶段: 任务启动和全量数据迁移阶段,请不要在源数据库执行DDL操作,否则可能导致任务异常。 增量迁移阶段: 选择集合迁移时,增量迁移过程中不建议对集合进行重命名操作。 为保证迁移的性能,任务增量阶段,会集合级的进行并发回放。特殊地,以下情况只支持单线程写入,不支持并发回放: 集合的索引中有unique key时; 集合属性的capped为true时; 这种情况可能会导致任务时延增高。 数据对比: 建议在源库的业务低峰期进行数据比对,防止误报不一致数据,以及减少对源库和DRS任务的冲击。 在增量同步过程中做对比时,源库若存在写入,则对比结果可能不一致。 行对比时,集群实例如果存在孤儿文档或者正在进行chunk迁移,会导致返回的行数不准确,对比结果不一致。详细情况可参考MongoDB官方文档。 其他限制 对于在源数据库已经存在TTL索引的集合,或者在增量迁移期间在源库数据创建了TTL索引的集合,由于源数据库和目标库数据库时区,时钟的不一致,不能保证迁移完成之后数据的一致性。 压缩参数block_compressor的取值,根据源库对应集合的stats().wiredTiger.creationString.block_compressor来决定,如果目标库已经存在对应的空集合,则不迁移压缩参数;特殊的,对于不支持的压缩参数,按照目标库实例的net.compression.compressors参数决定。当目标库为DDS 4.2版本时,由于目标库不支持压缩参数的设置,DRS不迁移压缩参数。 出云迁移的目标数据库如果是副本集,则建议目标数据库填写所有的主节点和备节点信息,以防主备切换影响迁移任务。如果是填写主备节点,注意填写的节点信息必须属于同一个副本集实例。 出云迁移的目标数据库如果是集群,则建议填写多个mongos信息,以防单个mongos节点故障影响迁移任务,并且多个mongos信息还可以实现负载均衡。如果填写多个mongos信息,注意所有所填的信息必须属于同一个集群实例。 为了提高迁移的速度,在开始迁移之前,建议在源数据库删掉不需要的索引,只保留必须的索引。在迁移过程中不建议对源库创建索引,如果必须要创建索引,请使用后台的方式创建索引。 为了防止回环,不支持在相同的源和目标库同时启动入云和出云任务。
  • 注意事项 为保证任务的正常运行,DRS提供了自动化的检查方法,在您启动DRS任务前,会针对源数据库和目标数据库的相关配置、条件进行检查。主要的检查项和对应的处理建议请参考DRS预检查项一览表。除了预检查项目之外,您还需要注意的事情如表4所示 表4 注意事项 类型名称 使用和操作限制 源数据库限制 源库不支持阿里云RDS的只读副本。 如果源数据库为自建库,并且安装了Percona Server for MySQL 5.6.x或Percona Server for MySQL 5.7.x时,内存管理器必须使用Jemalloc库,以避免因系统表频繁查询带来的内存回收不及时,并最终导致数据库Out of Memory问题。 源数据库不支持mysql binlog dump命令。 源数据库不支持reset master或reset master to命令,可能会导致DRS任务失败或者数据不一致。 相互关联的数据对象要确保同时迁移,避免迁移因关联对象缺失,导致迁移失败。 不支持外键级联操作。当外键是普通索引的时候,可能会导致表结构创建失败,建议改成唯一索引。 由于MySQL本身限制,若源库的一次性事件(EVENT)设定的触发时间在迁移开始前,该事件(EVENT)不会迁移到目标库。 使用限制 通用: 整个迁移过程中,不建议修改、删除连接源和目标数据库的用户的用户名、密码、权限,或修改源和目标数据库的端口号。 整个迁移过程中,不允许对正在迁移中的目标数据库进行修改操作(包括但不限于DDL、DML操作)。 整个迁移过程中,不允许源库写入binlog格式为statement的数据。 整个迁移过程中,不允许源库执行清除binlog的操作。 整个迁移过程中,不允许在源库创建库名为ib_logfile的数据库。 整个迁移过程中,不允许修改目标数据库主节点的浮动IP到只读节点。如果进行了修改,数据将会写入到只读节点,导致目标数据库和源数据库数据不一致。 需要DRS任务迁移索引的情况下,目标库对应表上不能存在同名但不同列信息的索引。全量阶段DRS会忽略对应表上已存在的同名索引,增量阶段DDL根据索引名操作索引时会触发错位问题。 全量迁移阶段: 任务启动和全量数据迁移阶段,请不要在源数据库执行DDL操作,否则可能导致任务异常。 增量迁移阶段: 选择表级对象迁移时,增量迁移过程中不支持对表进行重命名操作。 增量迁移阶段,不支持源数据库进行恢复到某个备份点的操作(PITR)。 增量迁移阶段,支持断点续传功能,在主机系统崩溃的情况下,对于非事务性的无主键的表可能会出现重复插入数据的情况。 增量迁移阶段,支持DDL语句。 结束任务: 任务正常结束: 在结束迁移任务时,将进行所选事件(EVENT)和触发器(TRIGGER)的迁移。请确保任务结束前,不要断开源和目标数据库的网络连通性,并在结束任务时关注迁移日志上报的状态,达到数据库完整迁移效果。 任务强制结束: 强制结束将直接释放DRS资源,不会进行触发器、事件的迁移,请参考手工迁移触发器、事件。如果需要DRS进行触发器、事件迁移,请先修复DRS任务,待任务状态正常后,再正常结束任务。 常见故障排查: 在任务创建、启动、全量同步、增量同步、结束等过程中,如有遇到问题,可先参考“故障排查”章节进行排查。 其他限制 若专属计算集群不支持4vCPU/8G或以上规格实例,则无法创建迁移任务。 对于源数据库和目标数据库的版本有差异的迁移链路,由于不同版本之间的部分特性差异,可能会出现语法兼容性问题,详情可参考MySQL不同版本之间的语法差异。 多对一场景下,创建迁移任务时,目标库读写设置需要跟已有任务设置为一致。 由于无主键表缺乏行的唯一性标志,网络不稳定时涉及少量重试,表数据存在少量不一致的可能性。 对于表中的物理生成列,如果列是根据一个时间类型生成的,会存在此列数据不一致的可能性。 不支持目标数据库恢复到全量迁移时间段范围内的PITR操作。 源库和目标库为RDS for MySQL实例时,不支持带有TDE特性并建立具有加密功能表。 如果源库MySQL不支持TLS1.2协议,或者为版本较低的自建库(低于5.6.46或在5.7.0-5.7.28之间),需提交运维申请才能使用SSL测试连接。 当目标数据库为5.7版本时,因为版本限制,json类型中的浮点数会丢失小数点后末位的0,存在精度损失导致内容对比不一致。 在创建DRS任务之前,如果源或者目标数据库实例开启并设置了SQL限流规则,可能会导致DRS任务失败。 迁移任务目标数据库可以设置“只读”和“读写”。 只读:目标数据库实例将转化为只读、不可写入的状态,迁移任务结束后恢复可读写状态,此选项可有效的确保数据迁移的完整性和成功率,推荐此选项。 读写:目标数据库可以读写,但需要避免操作或接入应用后会更改迁移中的数据(注意:无业务的程序常常也有微量的数据操作),进而形成数据冲突、任务故障、且无法修复续传,充分了解要点后可选择此选项。
  • 支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 本地自建数据库(MySQL 5.5、5.6、5.7、8.0版本) ECS自建数据库(MySQL 5.5、5.6、5.7、8.0版本) 其他云上数据库(MySQL 5.5、5.6、5.7、8.0版本) RDS for MySQL(5.5、5.6、5.7、8.0版本) RDS for MySQL(5.5、5.6、5.7、8.0版本) 说明: 仅支持目标库版本等于或高于源库版本。
  • 支持的迁移对象范围 在使用DRS进行迁移时,不同类型的迁移任务,支持的迁移对象范围不同,详细情况可参考表3。DRS会根据用户选择,在“预检查”阶段对迁移对象进行自动检查。 表3 支持的迁移对象 类型名称 使用须知 迁移对象范围 支持选择表级、库级或实例级(全部迁移)。 支持数据库、表、用户、视图、索引、约束、函数、存储过程、触发器(TRIGGER)和事件(EVENT)的迁移。 仅支持MyISAM和InnoDB表的迁移。 不支持系统库的迁移以及事件状态的迁移。 不支持宽松模式可以写入但严格模式下无法写入的非标浮点类型的数据的迁移,这种非标浮点类型数据可能会有无法命中的风险导致数据迁移失败。 全量和增量迁移不支持隐藏列(INVISIBLE),隐藏列是MySQL 8.0.23开始支持的特性,例如: CREATE TABLE `test11` ( `id` int NOT NULL, `c1` int DEFAULT NULL /*!80023 INVISIBLE */, PRIMARY KEY (`id`));
  • 数据库账号权限要求 在使用DRS进行迁移时,连接源库和目标库的数据库账号需要满足以下权限要求,才能启动实时迁移任务。不同类型的迁移任务,需要的账号权限也不同,详细可参考表2进行赋权。DRS会在“预检查”阶段对数据库账号权限进行自动检查,并给出处理建议。 表2 数据库账号权限 类型名称 全量迁移 全量+增量迁移 源数据库连接账号 需要具备如下最小权限: SELECT、SHOW VIEW、EVENT。 用户迁移时,如果源数据库为8.0版本,需要有mysql.user表的SELECT权限;如果为5.7及以下版本,则需要mysql系统库的SELECT权限,源数据库为阿里云数据库,则账户需要同时具有mysql.user和mysql.user_view的SELECT权限。 需要具备如下最小权限: SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT。 用户迁移时,如果源数据库为8.0版本,需要有mysql.user表的SELECT权限;如果为5.7及以下版本,则需要mysql系统库的SELECT权限,源数据库为阿里云数据库,则账户需要同时具有mysql.user和mysql.user_view的SELECT权限。 目标数据库连接账号 需要具备如下最小权限: SELECT、CREATE、ALTER、DROP、DELETE、INSERT、UPDATE、INDEX、EVENT、CREATE VIEW、CREATE ROUTINE、TRIGGER、REFEREN CES 、WITH GRANT OPTION。当目标库为8.0.14-8.0.18版本时,还需要有SESSION_VARIABLES_ADMIN权限。 用户迁移时,需要有mysql库的SELECT、INSERT、UPDATE、DELETE权限。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接源和目标数据库的账号密码修改后,请尽快修改DRS任务中的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。 表2中为DRS任务所需的最小权限,如果需要DRS任务迁移grant授权的情况下,请确保DRS任务的连接账号本身具备对应权限,否则可能因为grant授权执行失败导致目标库对应用户缺少授权。例如DRS任务的连接账号本身不要求process权限,如果需要通过DRS任务迁移process授权则需要保证DRS任务的连接账号具备该权限。
  • 结束任务 在“实时迁移管理”页面的迁移列表中,选择要结束的迁移任务,单击操作列“结束”。 在弹出框中单击“是”,提交结束任务。 一般情况下,结束任务功能可以确保特殊对象迁移的完整性(触发器、事件会在结束任务阶段迁移)。 当任务状态异常时(例如任务失败、网络异常),DRS会勾选“强制结束任务”优先结束任务,减少等待时间。 “强制结束任务”会直接释放DRS资源,不会进行触发器、事件的迁移,请手工迁移触发器、事件。 如果需要DRS进行触发器、事件迁移,请先修复DRS任务,待任务状态正常后,再单击“结束”,正常结束任务。
  • 数据库账号权限要求 在使用DRS进行迁移时,连接源库和目标库的数据库账号需要满足以下权限要求,才能启动实时迁移任务。不同类型的迁移任务,需要的账号权限也不同,详细可参考表2进行赋权。DRS会在“预检查”阶段对数据库账号权限进行自动检查,并给出处理建议。 表2 数据库账号权限 类型名称 全量迁移 全量+增量迁移 源数据库连接账号 需要具备如下最小权限: SELECT、SHOW VIEW、EVENT。 需要具备如下最小权限: SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT。 目标数据库连接账号 目标中间件账户需要具备以下基本权限:CREATE、DROP、ALTER、 INDEX、 INSERT、DELETE、 UPDATE、 SELECT, 同时必须具备扩展权限:全表SELECT权限。 目标中间件账户必须具备对所迁移数据库的权限。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接源和目标数据库的账号密码修改后,请尽快修改DRS任务中的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。
  • 使用须知 为保证任务的正常运行,DRS提供了自动化的检查方法,在您启动DRS任务前,会针对源数据库和目标数据库的相关配置、条件进行检查。主要的检查项和对应的处理建议请参考DRS预检查项一览表。除了预检查项目之外,您还需要注意的事情如表4所示。 表4 注意事项 类型名称 使用和操作限制 源数据库限制 如果源数据库为自建库,并且安装了Percona Server for MySQL 5.6.x或Percona Server for MySQL 5.7.x时,内存管理器必须使用Jemalloc库,以避免因系统表频繁查询带来的内存回收不及时,并最终导致数据库Out of Memory问题。 源数据库不支持mysql binlog dump命令。 源数据库不支持reset master或reset master to命令,可能会导致DRS任务失败或者数据不一致。 相互关联的数据对象要确保同时迁移,避免迁移因关联对象缺失,导致迁移失败。 不支持外键级联操作。当外键是普通索引的时候,可能会导致表结构创建失败,建议改成唯一索引。 由于MySQL本身限制,若源库的一次性事件(EVENT)设定的触发时间在迁移开始前,该事件(EVENT)不会迁移到目标库。 使用限制 通用: 整个迁移过程中,不允许修改、删除连接源和目标数据库的用户的用户名、密码、权限,或修改源和目标数据库的端口号。 整个迁移过程中,不允许对正在迁移中的目标数据库进行修改操作(包括但不限于DDL、DML操作)。 整个迁移过程中,不允许源库写入binlog格式为statement的数据。 整个迁移过程中,不允许源库执行清除binlog的操作。 整个迁移过程中,不允许在源库创建库名为ib_logfile的数据库。 全量迁移阶段: 任务启动和全量数据迁移阶段,请不要在源数据库执行DDL操作,否则可能导致任务异常。 增量迁移阶段: 选择表级对象迁移时,增量迁移过程中不支持对表进行重命名操作。 增量迁移阶段,不支持源数据库进行恢复到某个备份点的操作(PITR)。 增量迁移阶段,支持断点续传功能,在主机系统崩溃的情况下,对于非事务性的无主键的表可能会出现重复插入数据的情况。 增量迁移阶段,支持部分DDL语句,包括:ADD COLUMN、MODIFY COLUMN、CHANGE COLUMN、CREATE INDEX、DROP INDEX、RENAME INDEX、ADD INDEX。 结束任务: 当目标DDM版本大于3.0.4.1版本,结束任务时,DRS会自动刷新DDM的自增列(sequence)起始值。 其他限制 若专属计算集群不支持4vCPU/8G或以上规格实例,则无法创建迁移任务。 多对一场景下,创建迁移任务时,目标库读写设置需要跟已有任务设置为一致。 由于无主键表缺乏行的唯一性标志,网络不稳定时涉及少量重试,表数据存在少量不一致的可能性。 对于表中的物理生成列,如果列是根据一个时间类型生成的,会存在此列数据不一致的可能性。 源库和目标库为RDS for MySQL实例时,不支持带有TDE特性并建立具有加密功能表。 如果源库MySQL不支持TLS1.2协议,或者为版本较低的自建库(低于5.6.46或在5.7.0-5.7.28之间),需提交运维申请才能使用SSL测试连接。 在创建DRS任务之前,如果源数据库实例开启并设置了SQL限流规则,可能会导致DRS任务失败。 目标库若已存在数据,DRS在增量迁移过程中源库相同主键的数据将覆盖目标库已存在的数据,因此在迁移前需要用户自行判断数据是否需要清除,建议用户在迁移前自行清空目标库。 目标库实例若选择将时间戳类型(TIMESTAMP,DATETIME)的列作为分片键,则源库数据在迁移到目标库之后,作为分片键的该时间戳类型列的秒精度将被丢弃。
  • 支持的迁移对象范围 在使用DRS进行迁移时,不同类型的迁移任务,支持的迁移对象范围不同,详细情况可参考表3。DRS会根据用户选择,在“预检查”阶段对迁移对象进行自动检查。 表3 支持的迁移对象 类型名称 使用须知 迁移对象范围 支持选择表级迁移。 目前只支持迁移源库的数据,不支持迁移源库表结构及其他数据库对象。 仅支持MyISAM和InnoDB表的迁移。 不支持系统库的迁移以及事件状态的迁移。 不支持无主键表的迁移。 不支持宽松模式可以写入但严格模式下无法写入的非标浮点类型的数据的迁移,这种非标浮点类型数据可能会有无法命中的风险导致数据迁移失败。 源数据库为MySQL 8.0版本时,不支持迁移带有函数索引的表。 全量和增量迁移不支持隐藏列(INVISIBLE),隐藏列是MySQL 8.0.23开始支持的特性,例如: CREATE TABLE `test11` ( `id` int NOT NULL, `c1` int DEFAULT NULL /*!80023 INVISIBLE */, PRIMARY KEY (`id`));
  • MySQL数据库操作 在MySQL迁移过程中,常见的迁移用户一般分为三类:可完整迁移的用户、需要降权的用户和不可迁移的用户。 可完整迁移的用户:可完整迁移的用户指满足目标数据库权限要求的用户,该类用户在进行迁移时不需要做任何处理,系统默认会将对应的数据库用户权限迁移至目标数据库。 需要降权处理的用户:需要降权的用户指具有不满足目标数据库权限要求的部分高权限的用户,比如具有:super、file、shutdown等高权限的用户。该类用户在进行迁移时需要进行降权处理,否则会导致迁移失败。 对于该类账号不支持的高权限,将会由DRS自动进行降权处理,您可以通过单击备注列的“查看”按钮查看具体的降权处理信息,依据该信息,可以帮助您评估降权是否对其业务程序造成相关影响。 不可迁移的用户:不可迁移的用户指由于某些原因,DRS不支持该类数据库用户的迁移。该类账号将在目标数据库中缺失,请先确保业务不受该类账号影响。同时,任务启动后,所有针对该类账号进行的权限密码操作,将会导致增量迁移失败。 您可以根据业务需求选择“迁移”或者“不迁移”这些用户,当您选择“迁移”数据库用户时,可以选择部分迁移,也可以选择全部迁移。可按照如下操作步骤进行数据库用户、权限和密码的处理,此处以勾选所有可以迁移的数据库用户为例。 迁移用户模块主要由账号名称、账号权限和账号密码三部分构成。 一般账号名称的组成格式为:'账号名'+@+'host',其中host表示具体允许访问源端数据库的目标库IP地址,您可以根据具体的业务场景选择是否需要修改账号的host地址,对目标库IP进行重规划。 host地址可在如下图所示的输入框中进行修改即可。源库为MySQL 8.0时,不建议修改host地址。 图1 修改host地址 账号权限一般默认不可修改,对于支持迁移的账号(可完整迁移的用户和需要降权的用户),系统也将默认支持对应用户权限的迁移。 迁移成功后,存储在目标数据库中的对应用户(需要降权的用户)是经过降权处理的用户。 图2 账号权限 DRS支持数据库用户密码的迁移。 数据库用户密码的迁移可通过如下两种方式来处理。 由于DRS在迁移时不会分析您的密码数据和强度,源系统密码复杂度过弱则存在安全风险,为了确保迁移过程中数据的安全性,您可以根据业务需求,选择是否需要重新设置数据库用户密码,通过设置较高的密码复杂度来持续保护数据库。 方式一:密码迁移。 图3 密码迁移 您可以选择在迁移的过程中,直接迁移源数据库系统当前的密码,此时不需要通过勾选“重置密码”来设置新密码。数据库用户密码迁移至目标库后,您如果担心用户密码强度较弱,为了确保数据库的安全性,此时也可以选择在目标库端重新设置强度较高的源系统密码。 方式二:重置密码。 图4 重置密码 如上图所示,您可以通过勾选“重置密码”选择立即重新设置源系统密码后再继续进行用户密码迁移。 您可以选择某个指定支持迁移的用户,在“输入密码”列直接设置新密码或者选择所有支持迁移的用户,勾选右下角“统一输入密码”,批量将所选用户密码设置为相同的密码,以便快速完成迁移。使用批量方法设置的密码,待迁移成功后,可以在目标数据库端通过执行DDL语句,进行密码重置。 对于需要降权处理的用户和不支持迁移的用户,在备注列的查看详情中会提示具体的原因,您需要单击对应用户备注列的“查看”,确认详情后才可进行下一步操作。如果存在多个需要查看备注详情的用户,您也可以单击“确认所有备注”按钮,一键查看备注信息。 图5 查看备注信息 数据库用户已存在是不支持迁移到目标数据库的常见情形,此时您可以根据实际情况,决定是否需要删除目标端已存在的数据库用户,并单击“刷新”按钮,刷新当前数据库迁移用户的分类。 以上重新设置的密码强度必须满足目标数据库的密码复杂度要求。
  • MongoDB数据库操作 在MongoDB数据库迁移过程中,常见的迁移用户一般分为两类:可迁移的用户和不可迁移的用户。 您可以根据业务需求选择“迁移”或者“不迁移”这些用户,当您选择迁移数据库用户时,需要按照如下操作步骤进行数据库用户及角色的处理。 迁移用户模块主要由账号名称、账号角色两部分构成。 对于可支持迁移的用户或者角色,您可以根据业务需求选择需要迁移的账号及角色。 如果所选迁移的账号依赖于某些角色,需要同时迁移该账号和所依赖的角色,否则会导致迁移失败。 图6 选择迁移用户 对于不支持迁移的用户或者角色,在备注列的查看详情中会提示具体的原因,您需要单击对应用户备注列的“查看”,确认详情后才可进行下一步操作。如果存在多个需要查看备注详情的用户,您也可以单击“确认所有备注”按钮,一键查看备注信息。 图7 查看备注信息
  • 注意事项 为保证任务的正常运行,DRS提供了自动化的检查方法,在您启动DRS任务前,会针对源数据库和目标数据库的相关配置、条件进行检查。主要的检查项和对应的处理建议请参考DRS预检查项一览表。除了预检查项目之外,您还需要注意的事情如表4所示 表4 注意事项 类型名称 使用和操作限制 源数据库限制 如果源数据库为自建库,并且安装了Percona Server for MySQL 5.6.x或Percona Server for MySQL 5.7.x时,内存管理器必须使用Jemalloc库,以避免因系统表频繁查询带来的内存回收不及时,并最终导致数据库Out of Memory问题。 源数据库不支持mysql binlog dump命令。 源数据库不支持reset master或reset master to命令,可能会导致DRS任务失败或者数据不一致。 相互关联的数据对象要确保同时迁移,避免迁移因关联对象缺失,导致迁移失败。 不支持外键级联操作。当外键是普通索引的时候,可能会导致表结构创建失败,建议改成唯一索引。 由于MySQL本身限制,若源库的一次性事件(EVENT)设定的触发时间在迁移开始前,该事件(EVENT)不会迁移到目标库。 使用限制 通用: 整个迁移过程中,不允许修改、删除连接源和目标数据库的用户的用户名、密码、权限,或修改源和目标数据库的端口号。 整个迁移过程中,不允许对正在迁移中的目标数据库进行修改操作(包括但不限于DDL、DML操作)。 整个迁移过程中,不允许源库执行清除binlog的操作。 整个迁移过程中,不允许源端DDM正在迁移的表做改变拆分键的操作;也不允许将单表/广播表改为拆分表,拆分表改为单表/广播表。 全量迁移阶段: 任务启动和全量数据迁移阶段,请不要在源数据库执行DDL操作,否则可能导致任务异常。 增量迁移阶段: 选择表级对象迁移时,增量迁移过程中不支持对表进行重命名操作。 增量迁移阶段,不支持源数据库进行恢复到某个备份点的操作(PITR)。 增量迁移阶段,支持断点续传功能,在主机系统崩溃的情况下,对于非事务性的无主键的表可能会出现重复插入数据的情况。 增量迁移阶段,支持部分DDL语句,包括:ADD COLUMN、CREATE TABLE、CREATE INDEX、DROP INDEX、RENAME INDEX、ADD INDEX。 增量迁移阶段,对同一张表或列做DDL操作,需要在业务低峰期,并且时间间隔1分钟以上。 结束任务: 当目标DDM版本大于3.0.4.1版本,结束任务时,DRS会自动刷新DDM的自增列(sequence)起始值。 其他限制 若专属计算集群不支持4vCPU/8G或以上规格实例,则无法创建迁移任务。 数据类型不兼容时,可能引起迁移失败。 对于表中的物理生成列,如果列是根据一个时间类型生成的,会存在此列数据不一致的可能性。 源库的表如果包含系统列_ddm_lock、_slot,该列下的数据在全量、增量迁移过程中都会被过滤,导致数据丢失。 任务创建后,源数据库不支持增加逻辑库或修改旧逻辑库关联新的RDS,否则会导致数据无法正常迁移或任务失败。 目标库实例若选择将时间戳类型(TIMESTAMP,DATETIME)的列作为分片键,则源库数据在迁移到目标库之后,作为分片键的该时间戳类型列的秒精度将被丢弃。
  • 数据库账号权限要求 在使用DRS进行迁移时,连接源库和目标库的数据库账号需要满足以下权限要求,才能启动实时迁移任务。不同类型的迁移任务,需要的账号权限也不同,详细可参考表2进行赋权。DRS会在“预检查”阶段对数据库账号权限进行自动检查,并给出处理建议。 表2 数据库账号权限 类型名称 全量迁移 全量+增量迁移 源数据库连接账号 源物理分片数据库账号需要具备如下权限: SELECT、SHOW VIEW、EVENT。 源物理分片数据库账号需要具备如下权限: SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT。 目标数据库连接账号 目标中间件账户需要具备以下基本权限:CREATE、DROP、ALTER、 INDEX、 INSERT、DELETE、 UPDATE、 SELECT, 同时必须具备扩展权限:全表SELECT权限。 目标中间件账户必须具备对所迁移数据库的权限。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接源和目标数据库的账号密码修改后,请尽快修改DRS任务中的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。
  • 支持的迁移对象范围 在使用DRS进行迁移时,不同类型的迁移任务,支持的迁移对象范围不同,详细情况可参考表3。DRS会根据用户选择,在“预检查”阶段对迁移对象进行自动检查。 表3 支持的迁移对象 类型名称 使用须知 迁移对象范围 支持选择表级迁移。 目前只支持迁移源库的数据,不支持迁移源库表结构及其他数据库对象。 仅支持MyISAM和InnoDB表的迁移。 不支持系统库的迁移以及事件状态的迁移。 不支持无主键表的迁移。 不支持宽松模式可以写入但严格模式下无法写入的非标浮点类型的数据的迁移,这种非标浮点类型数据可能会有无法命中的风险导致数据迁移失败。 源数据库为MySQL 8.0版本时,不支持迁移带有函数索引的表。 全量和增量迁移不支持隐藏列(INVISIBLE),隐藏列是MySQL 8.0.23开始支持的特性,例如: CREATE TABLE `test11` ( `id` int NOT NULL, `c1` int DEFAULT NULL /*!80023 INVISIBLE */, PRIMARY KEY (`id`)); 源库为DDM实例时,则不允许存在拆分键为timestamp类型的表。
  • 示例流程 图1 给用户授权服务权限流程 创建用户组并授权。 在 IAM 控制台创建用户组,并授予Anti-DDoS服务的管理员权限“Anti-DDoS Administrator”。 创建用户并加入用户组。 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限。 新创建的用户登录控制台,切换至授权区域,验证权限: 单击页面左上方的,选择除Anti-DDoS服务外的任一服务,如果提示权限不足,表示“Anti-DDoS Administrator”已生效。
  • 操作须知 DDoS高防不支持下载防护日志数据。 在“概览”页面,您可以查看以下时间段的防护日志数据: DDoS攻击防护 可以查看指定高防实例和线路“24小时”、“近3天”、“近7天”、“近30天”和“自定义”的DDoS攻击防护数据,其中,“自定义”可以配置查看近90天的DDoS攻击防护数据。 CC攻击防护 可以查看防护 域名 “昨天”、“今天”、“近3天”、“近7天”和“近30天”的CC攻击防护数据。
  • 操作场景 业务接入DDoS高防后,您可以通过查看高防实例线路的DDoS攻击防护日志和防护域名的CC攻击防护日志,了解当前业务的网络安全状态。 在“概览”页面,您可以查看以下防护日志信息: DDoS攻击防护 可以查看高防实例线路的高防入流量峰值、攻击流量峰值和DDoS攻击次数信息,以及流量和报文两个维度的攻击类型分布、DDoS攻击事件、TOP5攻击类型流量清洗等信息。 CC攻击防护 可以查看防护域名请求与攻击次数、攻击类型分布、TOP5攻击源IP的次数等信息。
  • 约束限制 最多支持配置8个Key/Value值。 配置的Key值不能跟nginx原生字段重复。 Value值可以自定义一个字符串,也可以配置为以$开头的变量。以$开头的变量仅支持配置如下字段: $time_local $request_id $connection_requests $tenant_id $project_id $remote_addr $remote_port $scheme $request_method $http_host $origin_uri $request_length $ssl_server_name $ssl_protocol $ssl_curves $ssl_session_reused
  • 修订记录 发布日期 修改说明 2024-06-25 第五十二次正式发布。 新增设置HTTP2协议章节。 新增批量接入域名章节。 新增证书管理章节。 设置防护策略补充阈值设置建议。 开启Anti-DDoS告警通知新增告警参数。 购买实例新增防护包2.0。 配置指纹过滤新增TCP协议。 设置告警通知新增告警参数。 购买实例增加海外订单需要审批的描述。 查看实例信息新增参数。 查看域名信息单击域名可查看Web CC。 删除域名增加批量删除方式。 查看DDoS高防防护日志新增黑洞事件。 设置事件告警通知新增IP调度事件。 2024-02-29 第五十一次正式发布。 新增配置字段转发章节。 新增修改TLS配置章节。 下线“非域名类业务接入DDoS高防”章节。 下线“转发规则管理”章节。 查看数据报表增加动态黑名单描述。 查看DDoS高防防护日志增加动态黑名单描述。 查看防护对象信息增加防护IP状态参数。 2024-01-04 第五十次正式发布。 优化购买实例步骤描述。 优化购买DDoS高防实例步骤描述。 优化购买DDoS高防国际版实例步骤描述。 优化查看Anti-DDoS公网IP参数描述。 优化配置DDoS高防日志日志字段描述。 2023-12-10 第五十次正式发布。 新增为防护对象设置防护策略章节。 新增设置频率控制规则章节。 配置Anti-DDoS日志优化了内容描述。 开启LTS日志优化了内容描述。 配置DDoS高防日志优化了内容描述。 查看DDoS高防防护日志优化攻击类型分布的参数描述。 配置CDN调度策略增加服务范围参数。 2023-11-30 第四十九次正式发布。 新增控制台的权限依赖章节。 新增控制台的权限依赖章节。 配置Anti-DDoS日志优化日志字段说明。 开启LTS日志优化日志字段说明。 “非域名类业务接入DDoS高防”章节补充端口限制说明。 配置DDoS阶梯调度策略补充约束说明。 2023-11-03 第四十八次正式发布。 新增控制台的权限依赖章节。 2023-10-30 第四十七次正式发布。 新增使用概览章节。 新增使用概览章节。 新增购买DDoS高防国际版实例章节。 新增设置标签章节。 查看 云审计 日志优化了内容描述。 新增配置实例标签章节。 查看云审计日志优化了内容描述。 新增配置实例标签章节。 下线“创建防护策略”章节。 设置监控告警规则优化了内容描述。 查看云审计日志优化了内容描述。 2023-08-04 第四十六次正式发布。 新增设置事件告警通知章节。 新增设置事件告警通知章节。 新增设置事件告警通知章节。 2023-06-30 第四十五次正式发布。 新增配置区域封禁章节。 优化“配置防护策略”章节内容,匹配新版控制台图例。 优化DDoS高防监控指标说明章节描述,新增4个CES监控指标。 2023-06-08 第四十四次正式发布。 优化购买DDoS高防实例章节描述,添加了如何选择业务带宽的描述。 2023-06-06 第四十三次正式发布。 配置协议封禁章节补充关于海外流量封禁的描述。 2023-05-22 第四十二次正式发布。 优化“移除防护对象”章节描述。 2023-04-21 第四十一次正式发布。 新增监控章节。 2023-04-20 第四十次正式发布。 新增配置CDN调度策略章节。 2022-11-29 第三十九次正式发布。 新增水印防护章节。 2022-09-20 第三十八次正式发布。 修改配置Anti-DDoS日志章节。 2022-08-11 第三十七次正式发布。 新增配置Anti-DDoS日志。 2022-08-01 第三十六次正式发布。 修改步骤三:本地验证(网站类),更新本地验证内容。 2022-07-28 第三十五次正式发布。 新增Anti-DDoS自定义策略。 新增Anti-DDoS权限及授权项。 2022-07-13 第三十四次正式发布。 购买实例,下线"电信移动联通"和"电信联通、BGP"线路,新增"BGP Pro"线路。 2022-06-06 第三十三次正式发布。 下线新BGP线路。 2022-05-30 第三十二次正式发布。 新增购买DDoS调度中心防护。 优化DDoS调度中心防护管理部分功能描述。 2022-04-27 第三十一次正式发布。 购买实例,更新购买参数。 2022-04-06 第三十次正式发布。 DDoS调度中心下线“专线回源”和“互联网回源”两种回源方式。 2022-01-24 第二十九次正式发布。 开启WEB基础防护和CC防护,新增约束条件内容描述。 2021-12-23 第二十八次正式发布。 “非域名类业务接入DDoS高防”章节,优化内容描述。 2021-12-16 第二十七次正式发布。 新增AAD自定义策略。 新增AAD权限及授权项。 2021-11-18 第二十六次正式发布。 购买实例,补充大客户版相关内容描述。 购买DDoS高防实例,更新界面截图以及相关内容描述。 2021-11-11 第二十五次正式发布。 步骤一:配置防护域名(网站类),更新界面截图。 2021-10-21 第二十四次正式发布。 查看实例信息,优化内容描述。 2021-10-14 第二十三次正式发布。 购买实例,优化内容描述。 2021-10-11 第二十二次正式发布。 设置防护策略,更新截图。 2021-09-24 第二十一次正式发布。 13.1.2-线路购买指南,优化内容描述。 2021-09-15 第二十次正式发布。 购买DDoS高防实例,更新界面截图和内容描述。 2021-09-10 第十九次正式发布。 购买实例,修改内容描述。 2021-09-06 第十八次正式发布。 “DDoS原生高级防护操作指南”章节,优化内容描述。 2021-08-27 第十七次正式发布。 “DDoS原生高级防护操作指南”章节,更新截图以及内容描述。 2021-08-10 第十六次正式发布。 购买DDoS高防实例,更新界面截图和相关内容描述。 2021-07-29 第十五次正式发布。 配置协议封禁,优化内容描述。 2021-07-19 第十四次正式发布。 修改“DDoS高防操作指南”架构和内容描述。 2021-07-14 第十三次正式发布。 新增购买自助解封配额。 购买实例、自助解封封堵IP、查看解封配额和解封IP信息,新增自助解封配额内容描述。 2021-05-31 第十二次正式发布。 新增开启阶梯调度告警通知。 2021-05-28 第十一次正式发布。 配置Anti-DDoS防护策略,更新界面截图并优化内容描述。 “转发规则管理”章节优化内容描述。 2021-05-21 第十次正式发布。 修改章节标题。 2021-04-29 第九次正式发布。 设置防护策略,更新界面截图。 2021-04-27 第八次正式发布。 新增自助解封封堵IP。 新增查看解封配额和解封IP信息。 2021-04-19 第七次正式发布。 创建用户并授权使用CNAD,删除CNAD Administrator权限策略。 2021-04-16 第六次正式发布。 购买实例,优化内容描述。 2021-03-16 第五次正式发布。 购买实例,补充约束限制。 2021-03-02 第四次正式发布。 新增CNAD自定义策略。 新增CNAD权限及授权项。 2021-02-25 第三次正式发布。 配置DDoS阶梯调度策略,新增约束限制说明。 2021-02-01 第二次正式发布。 创建用户并授权使用CNAD,优化内容描述。 2020-12-31 第一次正式发布。
  • 操作步骤 登录管理控制台。 在左侧导航中单击“定时任务”。 进入“定时任务”页面。 单击定时任务页面右上角“创建定时任务”。 弹出“创建定时任务”界面。 配置定时任务信息。 任务类型:选择“创建快照”。 华为 云桌面 快照服务器目前处于公测阶段,暂不计费,未来该服务会进行收费。 每个桌面最多保留10条创建快照记录,包含控制台创建与终端用户创建。 重建系统盘、删除桌面、删除磁盘会自动删除对应桌面的快照。 定时任务名称:用户自定义。 执行周期:支持以下几种周期,根据用户需求自行选择。 指定时间:可精确到某年某月某日某时某分某秒。 按天:可设置具体时间、间隔天数、过期时间。 按周:可设置具体日期、时间、过期时间。 按月:可设置具体月份、具体日期、时间、过期时间。 选择是否通知用户。 通知:执行6~11。 不通知:执行8~11。 设置“早于定时任务”时间,范围为1~10080分钟 根据所需输入通知消息内容,仅支持文本消息,范围为1~1024个字符。 配置快照磁盘范围。 系统盘及数据盘:快照执行时同时快照系统盘及数据盘。 仅系统盘:快照执行时仅快照系统盘。 仅数据盘:快照执行时仅快照数据盘。 点击“下一步:选择对象”。 跳转至“选择应用对象”页面。 在“可选对象”的下拉框中选择所有桌面并勾选。 单击“立即创建”。
  • 如何解决重定向次数过多? 在WAF中完成了域名接入后,请求访问目标域名时,如果提示“重定向次数过多”,一般是由于您在服务器后端配置了HTTP强制跳转HTTPS,在WAF上只配置了一条HTTPS(对外协议)到HTTP(源站协议)的转发,强制WAF将用户的请求进行跳转,所以造成死循环。 可在WAF中修改服务器信息,配置两条HTTP(对外协议)到HTTP(源站协议)和HTTPS(对外协议)到HTTPS(源站协议)的服务器信息。 图1 配置示例 父主题: 流量转发异常排查
共100000条