华为云用户手册

  • GaussDB 分布式版为源使用须知 出云: GaussDB分布式版同步到MySQL GaussDB分布式版同步到Oracle GaussDB分布式版同步到Kafka GaussDB分布式版同步到GaussDB分布式版 GaussDB分布式版同步到GaussDB主备版 自建-自建: GaussDB分布式版同步到Oracle GaussDB分布式版同步到Kafka GaussDB分布式版同步到GaussDB分布式版
  • MySQL为源使用须知 入云: MySQL同步到MySQL MySQL同步到GaussDB(for MySQL) MySQL同步到PostgreSQL MySQL同步到GaussDB主备版 MySQL同步到GaussDB分布式版 出云: MySQL同步到MySQL MySQL同步到Kafka MySQL同步到 CSS /ES MySQL同步到Oracle 自建-自建: MySQL同步到Kafka MySQL同步到 CS S/ES MySQL同步到GaussDB主备版
  • 责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的 云安全 挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的 IaaS、PaaS 和 SaaS 类云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。 华为云租户的安全责任在于对使用的 IaaS、PaaS 和 SaaS 类云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API 网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
  • 访问控制 权限控制 您可以使用 IAM 为企业中的员工设置不同的访问权限,以达到不同员工之间的权限隔离,通过IAM进行精细的权限管理。DRS权限详情可以参考权限管理。 网络隔离 DRS在创建实例时,可以根据业务需要选择实例所在VPC的子网,DRS在创建完实例后会为用户分配此子网的IP地址,用于连接源数据库和目标数据库。DRS实例与华为云上的源数据库或目标数据库同处一个VPC,通过源数据库、目标数据库或DRS自身的安全组,实现网络访问控制,达到网络隔离的效果。 具体内容请参见创建虚拟私有云和子网。
  • 统一身份认证 服务 统一身份认证服务(Identity and Access Management,简称IAM)为 数据复制服务 提供了权限管理功能。 需要拥有数据复制服务的Administrator权限后,您才能使用数据复制服务。如需开通该权限,请联系拥有Security Administrator权限的用户,或者申请具有数据复制服务Administrator权限的新用户。 统一身份认证服务的更多信息,请参见《统一身份认证服务用户指南》。
  • 场景描述 全量或增量同步期间DRS任务报错,同步日志界面提示:retry structures failed events=the fail structures are [type=index, index=***, schema_name=***, object_name=***]reason:[ERROR: memory required is *** MB, maintenance_work_mem is *** MB]。
  • MySQL迁移场景 表1 目标数据库是否存在和源数据库同名的数据库 预检查项 目标数据库是否存在和源数据库同名的数据库 描述 校验用户提供的目标数据库是否存在与源数据库相同的数据库。 不通过提示及处理建议 不通过原因:源数据库连接失败,导致该项检查无法进行。 处理建议:查看源数据库连接是否成功。 不通过原因:目标数据库连接失败,导致该项检查无法进行。 处理建议:查看目标数据库连接是否成功。 不通过原因:用户基本权限不足。 处理建议:查看对应数据库账号权限是否符合迁移要求。 处理建议: 如果您进行的是入云操作,请根据实际情况判断是否需要删除目标数据库中与源数据库同名的库、或指定一个新的RDS实例进行迁移。 如果您进行的是出云操作,根据实际情况判断是否要保留这些目标端用户数据库、或者指定一个新的目标库。 不通过原因:增量迁移场景下, 目标数据库中不允许存在与源数据库中的库同名的库。 处理建议:根据实际情况判断是否需要删除目标数据库中与源数据库同名的库、或指定一个新的RDS实例进行迁移。
  • MongoDB迁移场景 表1 数据库SSL一致性检查 预检查项 数据库SSL一致性检查。 描述 检查源数据库和目标数据库的SSL是否一致,源数据库和目标数据库不能同时开启SSL安全连接,否则,会导致迁移失败。 不通过提示及处理建议 不通过原因:源数据库和目标数据库同时使用了SSL连接。 处理建议:若为入云场景,源数据库使用了SSL连接,则目标数据库须关闭SSL连接;若为出云场景,目标数据库使用了SSL连接,则源数据库须关闭SSL连接。
  • 场景描述 全量迁移或同步期间DRS任务报错,日志提示信息:An error occurred in the process DATAMOVE, caused by: apply event=[type=table_data, shard_id=0, batch_index_in_shard=1, table_name=%s, record_num=1] occur error, msg=apply data of table=%s failed: Data truncation: Invalid GIS data provided to function st_geometryfromtext.
  • 解决方案 联系客户运维工程师检查源库表结构是否正常,常用命令: SELECT * FROM `%s`.`%s` LIMIT 1 SHOW CREATE TABLE `%s`.`%s` 请联系源数据库管理员检查源库database和table是否删除,如果已删除,可参考MySQL迁移使用须知,重建任务。 检查迁移使用的账号对源库的表是否有执行SHOW CREATE TABLE操作的权限,如果不具备则参考MySQL迁移使用须知,为源库迁移账户赋予操作权限,然后在任务列表中,单击任务对应操作列的“续传”,重新提交任务。
  • PostgreSQL为源同步 表1 源库对象关联关系检查 预检查项 源库对象关联关系检查。 描述 源库对象关联关系检查,若不符合迁移要求,则导致迁移失败。 不通过提示及处理建议 不通过原因:已选择的对象中存在含外键的表,且未选择迁移该外键依赖的表。 处理建议:请在对象选择页面选择依赖的对象。 不通过原因:已选择的对象中存在视图,且未选择迁移该视图依赖的表或视图。 处理建议:请在对象选择页面选择依赖的对象。 不通过原因:已选择的对象中存在继承表,且未选择迁移该继承表依赖的表。 处理建议:请在对象选择页面选择依赖的对象。
  • MySQL同步场景 表1 目标数据库是否存在与源数据库同名的表 预检查项 目标数据库是否存在与源数据库同名的表(表名冲突)。 描述 校验用户提供的目标数据库是否存在与源数据库同名的表,避免已存在的表被覆盖。若存在,则无法迁移。 特殊情况:如果源和目标数据库中的表,其表名和表结构均相同,针对这种情况,系统判定为不冲突。 不通过提示及处理建议 不通过原因:目标数据库存在与源数据库同名的表。 处理建议:请先检查目标数据库的这些同名表是否需要保留,然后删除同名表或者使用新的目标库再重试。 不通过原因:目标数据库存在与对象编辑新增的表同名的表。 处理建议:请先检查目标数据库的这些同名表是否需要保留,然后删除同名表或者重新进行对象编辑。 不通过原因:源库和目标库是相同的RDS实例,且存在没有映射的库。 处理建议:对没有映射的数据库创建映射。 待确认原因:目标库存在与源库不同SRID列值的表。 处理建议:请检查目标库该表使用地理类型坐标系是否符合预期。如源端已指定地理类型列坐标系属性,请修改目标库表结构与源端保持一致。
  • MariaDB同步场景 表2 目标库是否存在与源库同名的表 预检查项 目标数据库是否存在与源数据库同名的表(表名冲突)。 描述 校验用户提供的目标数据库是否存在与源数据库同名的表,避免已存在的表被覆盖。若存在,则无法迁移。 特殊情况:如果源和目标数据库中的表,其表名和表结构均相同,针对这种情况,系统判定为不冲突。 不通过提示及处理建议 不通过原因:目标数据库存在与源数据库同名的表。 处理建议:请先检查目标数据库的这些同名表是否需要保留,然后删除同名表或者使用新的目标库再重试。 不通过原因:目标数据库存在与对象编辑新增的表同名的表。 处理建议:请先检查目标数据库的这些同名表是否需要保留,然后删除同名表或者重新进行对象编辑。 不通过原因:源库和目标库是相同的RDS实例,且存在没有映射的库。 处理建议:对没有映射的数据库创建映射。
  • 场景描述 全量迁移或同步期间DRS任务报错,日志提示信息:service DATAMOVE failed, cause by: retry structures failed events=the fail structures are [type=constraint_data, index=0, schema_name=%s, object_name=%s]reason:[The MySQL server is running with the --super-read-only option so it cannot execute this statement]
  • 解决方案 针对以上问题,提供如下解决方案: 单击任务名称,进入基本信息页面。 在连接信息模块,检查AK、SK、桶名以及终端节点信息是否填写正确。 如果使用的是临时AK/SK,还需要检查临时AK/SK和Security Token的权限和有效期。 连接信息正确,执行3。 连接信息错误,单击任务操作列“暂停”,等待任务暂停后,单击操作列“编辑”按钮。进入“源库及目标库”页面,重新填写源库信息,完成任务配置后启动。 检查是否有对应OBS桶文件的读取权限。可参考OBS权限管理内容,授予用户OBS桶文件读取权限。
  • 场景描述 全量或增量阶段,DRS迁移或同步任务报错,日志提示信息:service %s failed, cause by: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
  • 处理建议 如果数据库为云上RDS for MySQ L实例 ,可参考RDS for MySQL大小写参数敏感类问题内容,修改lower_case_table_names参数值。 如果数据库为本地自建MySQL,请参考如下步骤修复。 登录源数据库MySQL所在服务器。 手动修改my.cnf配置文件,在MySQL配置文件my.cnf中的[mysqld]标签下增加一行lower_case_table_names=n。 修改完成后,需选择一个非业务时间段,重启源数据库即可。
  • 场景描述 全量迁移或同步期间DRS任务报错,日志提示信息:service DATAMOVE failed, cause by: retry structures failed events=the fail structures are [type=account, index=0, schema_name=mysql, object_name='***']reason:[Access denied for user '***' to database '***']
  • 场景描述 全量迁移或同步期间DRS任务报错,日志提示信息:service DATAMOVE failed, cause by: The background process is unavailable. Maybe it has been killed manually or by the operating system. Please restart the task if possible or wait for restarting by itself within 5 minutes。
  • 场景描述 全量或增量阶段,DRS迁移或同步任务报错,日志提示信息:service LOG MANAGER failed, cause by: load database structure failed in source database, The failed %s is: type=%s, schema_name=%s, object_name=%s, errorcode=%s, message=%s"
  • MySQL迁移场景 表1 目标数据库SSL证书类型检查 预检查项 目标数据库SSL证书类型检查。 描述 检查云内数据库迁移出云时,目标数据库的SSL证书类型是否正确,如不符合要求,会导致迁移失败。 不通过提示及处理建议 不通过原因:目标数据库SSL证书不存在。 处理建议:请在“源库及目标库”页面,目标库信息处开启SSL安全连接并上传内容只包含一段以“BEGIN CERTIFICATE”开始和“END CERTIFICATE”结束的SSL加密证书。 不通过原因:不支持目标数据库SSL证书类型。 处理建议:请在“源库及目标库”页面,目标库信息处开启SSL安全连接并上传内容只包含一段以“BEGIN CERTIFICATE”开始和“END CERTIFICATE”结束的SSL加密证书。
  • MySQL、GaussDB(for MySQL)为源场景 表1 检查源库的max_allowed_packet参数 预检查项 检查源库的max_allowed_packet参数。 描述 源库的max_allowed_packet参数值过小,可能会导致数据迁移失败。 待确认提示及处理建议 待确认原因:DRS在迁移数据量大或迁移大字段情况下,源库max_allowed_packet参数过小可能会导致任务失败。 处理建议:请修改源库max_allowed_packet参数值,使其大于16777216。
  • 场景描述 全量或增量同步期间DRS任务报错,同步日志界面提示:retry structures failed events=the fail structures are [type=index, index=0, schema_name=fossbot, object_name=scan_mr5_file_union]reason:[ERROR: temporary file size exceeds temp_file_limit (20000000kB)]。
  • 处理建议 修改源数据库或者目标数据库的collation_server参数,使其保持一致。 如果为自建的MySQL数据库,可通过命令行方式修改。 通过以下命令查看数据库的字符集。 SHOW VARIABLES LIKE "collation_server"; 使用命令修改服务器的字符集。 SET collation_server='utf8_unicode_ci'; 如果为RDS for MySQL实例,可通过修改数据库collation_server参数实现,详情请参考修改实例参数章节。 更多其他类型数据库修改collation_server的方法,可参考对应数据库的使用说明。
  • 处理建议 检查DRS测试连接时输入的用户名和密码是否正确,填入正确的数据库用户名和密码后重新执行预检查。 测试连接时输入的端口号无法访问,请检查端口是否存在。如果端口正确,需检查防火墙是否放开。 源数据库为PostgreSQL,数据库配置文件pg_hba.conf缺少对数据库账号的配置,建议配置该账号的远程连接权限。 打开配置文件pg_hba.conf,添加如下配置,重启数据库生效。 host all xxx(dbuser) 0.0.0.0/0 method 完成DRS任务之后删除这条配置,重启数据库生效。 进行数据迁移前需确保完成网络准备和安全规则设置,如果连接失败,请按照以下方法排查网络配置是否正确。 公网网络 请确保数据库已开放公网访问。 请确保数据库的安全规则设置正确。 数据库需要将DRS实例的弹性公网IP添加到其网络白名单中,确保DRS实例可以访问数据库。DRS实例创建成功后,可在“源库及目标库”页面获取DRS实例的弹性公网IP。 请确保防火墙设置正确。 数据中心防火墙需要放通DRS实例弹性公网IP的访问,使得DRS可以正常访问数据库。 入方向放行:放通DRS实例弹性公网IP到数据库监听端口的访问。 出方向放行:放通数据库监听端口到实例弹性公网IP的数据传输。 VPC网络 确保数据库安全组设置正确。 查看数据库安全组入方向规则,放通DRS私网IP作为源地址可以访问云数据库监听端口。DRS实例创建成功后,可在“源库及目标库”页面获取DRS实例的私网IP。 确保数据库网络ACL设置正确。 VPC默认没有网络ACL,如果您设置过网络ACL,需要增加入方向规则。 VPN、专线网络 请确保数据库VPN或专线网络配置正确。 请确保数据库的安全规则设置正确。 数据库需要将DRS实例的私有IP添加到其网络白名单中,确保DRS实例可以访问数据库。DRS实例创建成功后,可在“源库及目标库”页面获取DRS实例的私有IP。 更多关于DRS网络设置可参考准备工作概览内容。
  • MariaDB同步场景 表2 同步对象中是否存在包含longtext或longblob类型字段的表 预检查项 同步对象中是否存在包含longtext或longblob类型字段的表。 描述 longtext、longblob类型的字段在同步过程中,可能会导致较低规格的DRS任务失败。 不通过提示及处理建议 不通过原因:同步对象中存在如下表,这些表包含longtext、longblob类型的字段。 处理建议:同步对象中如果存在包含longtext、longblob类型字段的表,建议创建大规格及以上规格的DRS任务进行同步。
  • MySQL为源同步场景 表1 同步对象中是否存在包含longtext或longblob类型字段的表 预检查项 同步对象中是否存在包含longtext或longblob类型字段的表。 描述 longtext、longblob类型的字段在同步过程中,可能会导致较低规格的DRS任务失败。 不通过提示及处理建议 不通过原因:同步对象中存在如下表,这些表包含longtext、longblob类型的字段。 处理建议:同步对象中如果存在包含longtext、longblob类型字段的表,建议创建大规格及以上规格的DRS任务进行同步。
  • 处理建议 如果确认未使用相关的加解密函数去操作业务,可以选择跳过该检查项。 如果需要修改数据库block_encryption_mode参数,可参考以下操作。 源数据库为本地自建MySQL库 方法一:执行以下命令,然后重启数据库使设置生效。 SET GLOBAL block_encryption_mode = '对应的加密模式' 方法二:在my.cnf或my.ini配置文件添加一行,然后重启数据库使设置生效。 block_encryption_mode = '对应的加密模式' 源数据库为云上RDS for MySQL实例,可参考修改实例参数修改数据库block_encryption_mode参数。
  • 场景描述 全量同步期间DRS任务报错,同步日志界面提示:service DATAMOVE failed, cause by: retry structures failed events=the fail structures are [type=operator, index=2, schema_name=public, object_name=?|]reason:[ERROR: type 'geometry' does not exist]
  • 处理建议 源库中,执行以下操作中的任意一项: 开启库级ALL级别的补充日志:alter database add supplemental log data (all) columns 在Oracle源库中开启最小补充日志:alter database add supplemental log data,并为每张待同步表开启表级all级别的补充日志:alter table TABLE_NAME add supplemental log data(all) columns
共100000条