华为云用户手册

  • MySQL迁移场景 表1 源数据库的库名是否合法 预检查项 源数据库的库名是否合法。 描述 源数据库库名不能包含非法字符,库名名称要在1到64个字符之间,由小写字母、数字、中划线、下划线组成,不能包含其他特殊字符。 该项校验源数据库的库名中是否包含上述非法的字符,若包含非法字符会导致迁移失败。 不通过提示及处理建议 不通过原因:源数据库连接失败,导致该项检查无法进行。 处理建议:查看源数据库连接是否成功。 不通过原因:源数据库库名包含不支持的字符,库名名称要在1到64个字符之间,由小写字母、数字、中划线、下划线组成,不能包含其他特殊字符。 处理建议:修改包含非法字符的数据库库名或者返回到对象选择页面迁移合法库名的数据库。
  • MongoDB迁移场景 表1 目标数据库是否存在与源数据库同名的数据库下的同名非空集合 预检查项 目标数据库是否存在与源数据库同名的数据库下的同名非空集合。 描述 校验用户提供的目标数据库是否存在与源数据库同名的数据库下的同名非空集合,避免已存在的数据库被覆盖。若存在,则无法迁移。 不通过提示及处理建议 不通过原因:源数据库连接失败,导致该项检查无法进行。 处理建议:查看源数据库连接是否成功。 不通过原因:目标数据库连接失败,导致该项检查无法进行。 处理建议:查看目标数据库连接是否成功。 不通过原因:目标数据库存在与源数据库同名的数据库下的同名非空集合。 处理建议:根据实际情况判断是否要保留与源数据库同名的目标数据库下的同名非空集合、或者指定一个新的DDS实例。
  • PostgreSQL同步场景 表1 扩展插件合法性检查 预检查项 扩展插件合法性检查。 描述 检查目标数据库是否缺少源数据库所安装的插件。 不通过提示及处理建议 不通过原因:源数据库中已安装的扩展插件,在目标数据库中不支持。 处理建议: 如果源数据库中没有业务这些插件,请在源数据库中删除该插件。参考如下SQL(plugin_name替换为待删除插件名称): drop extension plugin_name; 或使用支持这些插件的目标库,并重新创建同步任务。 不通过原因:源库中存在包含成员表的插件。 处理建议:请确认源库插件是否存在创建后新增的元数据信息,如果存在,请在迁移结束后使用该插件专用的语法重建相关元数据信息。 不通过原因:目标库同步账户没有创建插件的权限。 处理建议:请在目标库中使用root用户给同步账户授权。可参考如下SQL(将username替换为同步账户): alter user username inherit; grant root to username; 不通过原因:目标数据库中支持的扩展插件版本小于源库中安装的版本。 处理建议:请使用支持更高版本插件(不低于源库插件版本)的目标库数据库,并重新创建同步任务。
  • 处理建议 修改源数据库或者目标数据库的collation_server参数,使其保持一致。 如果为自建的MySQL数据库,可通过命令行方式修改。 通过以下命令查看数据库的字符集。 SHOW VARIABLES LIKE "collation_server"; 使用命令修改服务器的字符集。 SET collation_server='utf8_unicode_ci'; 如果为RDS for MySQ L实例 ,可通过修改数据库collation_server参数实现,详情请参考修改实例参数章节。 更多其他类型数据库修改collation_server的方法,可参考对应数据库的使用说明。
  • 处理建议 如果数据库为云上RDS for MySQL实例,可参考RDS for MySQL大小写参数敏感类问题内容,修改lower_case_table_names参数值。 如果数据库为本地自建MySQL,请参考如下步骤修复。 登录源数据库MySQL所在服务器。 手动修改my.cnf配置文件,在MySQL配置文件my.cnf中的[mysqld]标签下增加一行lower_case_table_names=n。 修改完成后,需选择一个非业务时间段,重启源数据库即可。
  • 处理建议 登录源数据库MySQL所在服务器。 执行以下SQL语句,查看server_id值。 show variables like '%server_id%'; 如果server_id不满足要求,执行如下命令,修改server_id: set global server_id=n n表示源数据库的server_id,如果源数据库版本为MySQL5.6,n的取值范围在2-4294967296之间;如果源数据库版本为MySQL5.5和MySQL5.7,n的取值范围在1-4294967296之间。 修改完成后,重新执行预检查。
  • 处理建议 如果源数据库为云上RDS for MySQL实例,可参考设置RDS for MySQL本地Binlog日志清理内容,将expire_logs_days设置在合理的范围内。 如果源数据库为本地自建MySQL,请参考如下步骤修复。 登录源数据库MySQL所在服务器。 执行以下命令,查看设置的Binlog保留时间。 show variables like 'expire_logs_days'; 或 show variables like 'binlog_expire_logs_seconds'; 手动修改my.cnf配置文件,设置Binlog保留时间,以3天为例。 expire_logs_days=3 或 binlog_expire_logs_seconds=259200; 修改完成后,需选择一个非业务时间段,重启源数据库即可。
  • 处理建议 如果源数据库为本地自建MySQL,可通过如下方法,修改源数据库Binlog格式: 方法一:手动修改my.cnf或my.ini配置文件,然后重启数据库。 binlog_format=row 方法二:执行如下命令,中断所有业务连接。 set global binlog_format='ROW' 然后手动修改my.cnf或my.ini配置文件。 binlog_format=row 在row模式下,日志增长速率会变大,注意磁盘使用情况。 如果源数据库为云上RDS for MySQL实例,请使用修改实例参数功能,将源数据库参数binlog_format修改为row,重启数据库后生效。
  • 处理建议 如果源数据库为本地自建MySQL库,建议参考如下操作开启Binlog日志。 查看binlog日志是否开启。 show variables like "log_bin"; 如果是关闭状态,在MySQL配置文件my.cnf或my.ini中的[mysqld]标签下增加一行log-bin = mysql-bin。 重启数据库。 如果源数据库为云上RDS for MySQL实例,则默认开启Binlog,无需额外配置,binlog_format格式为row,详细说明可参考设置RDS for MySQL本地Binlog日志清理。 如果源库TiDB,建议在数据库配置文件的[binlog]标签下增加一行enable=true,然后重启数据库使设置生效。
  • 处理建议 修改源数据库或者目标数据库字符集。 数据库为MySQL时,可通过以下方式进行修改: 如果为自建的数据库,可通过命令行方式修改。 通过以下命令查看数据库的字符集。 SHOW VARIABLES LIKE "character_set_server"\G; 使用命令修改服务器的字符集。 SET character_set_server='utf8'; 如果为RDS for MySQL实例,可通过修改数据库“character_set_server”参数实现,详情请参考“修改实例参数”章节。 数据库为PostgreSQL时,可通过以下方式修改: 如果为自建的数据库,可通过命令行方式修改。 通过以下命令查看数据库的字符集。 show server_encoding; 使用命令修改服务器的字符集。 set server_encoding='utf8'; 如果为RDS for PostgreSQL实例,可通过修改数据库“server_encoding”参数实现,详情请参考“修改实例参数”章节。 更多其他类型数据库修改字符集参数的方法,可参考对应数据库的使用说明。
  • 处理建议 在使用DRS进行迁移或同步时,连接源数据库的账号需要满足一定的权限要求,才能启动任务。不同引擎、不同模式的任务,需要的账号权限也不同。DRS会在“预检查”阶段对数据库账号权限进行自动检查,并给出处理建议。 以MySQL的迁移为例,源数据用户权限要求如下: 全量迁移权限要求: SELECT、SHOW VIEW、EVENT。 参考语句:GRANT SELECT, SHOW VIEW, EVENT ON *.* TO 'user1'; 全量+增量迁移权限要求: SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT。 其中,REPLICATION SLAVE、REPLICATION CLIENT是全局权限,必须单独开启。参考语句如下: GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user1'; SELECT、SHOW VIEW、EVENT、LOCK TABLES是非全局权限,参考语句如下: GRANT SELECT, SHOW VIEW, EVENT, LOCK TABLES ON [待迁移数据库].* TO 'user1';
  • 处理建议 在使用DRS进行迁移或同步时,连接目标数据库的账号需要满足一定的权限要求,才能启动任务。不同引擎的任务,需要的账号权限也不同。DRS会在“预检查”阶段对数据库账号权限进行自动检查,并给出处理建议。 以MySQL的迁移为例,目标数据用户权限要求如下: 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权限。 参考语句:GRANT SELECT, CREATE, ALTER, DROP, DELETE, INSERT, UPDATE, INDEX, EVENT, CREATE VIEW, CREATE ROUTINE, TRIGGER, REFERENCES ON [待迁移数据库].* TO 'user1' WITH GRANT OPTION;
  • MySQL迁移场景 表1 目标数据库是否存在和源数据库同名的数据库 预检查项 目标数据库是否存在和源数据库同名的数据库 描述 校验用户提供的目标数据库是否存在与源数据库相同的数据库。 不通过提示及处理建议 不通过原因:源数据库连接失败,导致该项检查无法进行。 处理建议:查看源数据库连接是否成功。 不通过原因:目标数据库连接失败,导致该项检查无法进行。 处理建议:查看目标数据库连接是否成功。 不通过原因:用户基本权限不足。 处理建议:查看对应数据库账号权限是否符合迁移要求。 处理建议: 如果您进行的是入云操作,请根据实际情况判断是否需要删除目标数据库中与源数据库同名的库、或指定一个新的RDS实例进行迁移。 如果您进行的是出云操作,根据实际情况判断是否要保留这些目标端用户数据库、或者指定一个新的目标库。 不通过原因:增量迁移场景下, 目标数据库中不允许存在与源数据库中的库同名的库。 处理建议:根据实际情况判断是否需要删除目标数据库中与源数据库同名的库、或指定一个新的RDS实例进行迁移。
  • 处理建议 检查DRS测试连接时输入的用户名和密码是否正确,填入正确的数据库用户名和密码后重新执行预检查。 测试连接时输入的端口号无法访问,请检查端口是否存在。如果端口正确,需检查防火墙是否放开。 目标数据库为PostgreSQL,数据库配置文件pg_hba.conf缺少对数据库账号的配置,建议配置该账号的远程连接权限。 打开配置文件pg_hba.conf,添加如下配置,重启数据库生效。 host all xxx(dbuser) 0.0.0.0/0 method 完成DRS任务之后删除这条配置,重启数据库生效。 目标数据库为Kafka,可能存在以下原因,请进行排查: 检查Kafka brokers是否正常状态。 检查Kafka端是否开启了安全认证。如果开启了,请选择对应的安全连接方式,详细配置说明可参考这里。 进行数据迁移前需确保完成网络准备和安全规则设置,如果连接失败,请按照以下方法排查网络配置是否正确。 公网网络 请确保数据库已开放公网访问。 请确保数据库的安全规则设置正确。 数据库需要将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网络设置可参考准备工作概览内容。
  • 操作步骤 在“实时同步管理”界面,选择指定的同步任务。 单击任务名称,页面跳转至“基本信息”页面。 单击左侧“参数管理”,在“参数”页签可对当前同步任务的参数信息根据名称进行查询并且进行修改。 图1 查看参数信息 修改完成后,可选择“保存”或者“取消”设置。 单击“保存”,在弹出框中单击“是”,保存修改。 单击“取消”,在弹出框中单击“是”,放弃本次设置。 部分参数完成修改后,需要重启任务后才生效,可单击右上角“重启”按钮使之生效,也可参考重启同步任务内容进行重启。 除此以外,重置、续传、任务重建、主备倒换、全量阶段修改限速操作也会重启任务进程使设置生效。
  • 操作步骤 在“实时同步管理”页面,单击左上角“批量导入任务”。 在“批量导入任务”对话框中,单击“下载模板”。 图1 批量导入任务 编辑下载的Excel模板,按照要求填写任务信息。 填写完成后,单击“添加文件”,完成模板上传。 待上传并校验成功后,单击“确定”提交创建任务。 DRS不会保存上传的Excel文件,只针对内容进行解析。 任务创建后,数据库的IP地址或 域名 、数据库用户名和密码,会被系统加密暂存,直至删除该任务后自动清除。
  • 操作说明 在“实时同步管理”页面,单击“创建同步任务”。 在“同步实例”页面,填选任务名称、描述、同步实例等信息,其中DRS任务类型选择“双AZ”,完成后单击“下一步”。 返回“实时同步管理”页面可以可以看到,DRS会同时创建一主一备两个子任务。 图1 主备任务 配置并启动同步任务后,DRS会启动主AZ任务进行同步,此时备AZ任务处于暂停状态。 图2 主备倒换前 当主AZ任务发生异常,DRS会自动启动备AZ任务继续进行同步。 图3 主备倒换后
  • 约束限制 限速模式指的是限制秒级的流量上限,可能因为网络波动原因导致统计值的降低,实际统计的值可能会低于限速值大小。 限速模式只对全量同步阶段生效,增量同步阶段不生效。 增量阶段修改限速后,待任务再次进入全量阶段会生效。如增量中的任务修改限速,编辑任务新加同步对象后,限速会在同步任务的全量阶段生效。 修改限速后会出现短暂的没有流量情况,是因为DRS后台进程会重启续传,并不影响任务进度和数据一致性。
  • 约束限制 所有链路均支持修改连接密码。 目前仅MySQL和TaurusDB为源且连接方式为输入IP地址的任务,在增量阶段支持修改IP、端口、用户名信息。当源库进行某些操作导致IP地址、端口、用户名变化时,可通过此功能更新为正确的信息。 修改IP功能适用于源库IP地址变化场景,修改前后的IP必须属于同一个 数据实例 ,否则可能导致任务失败或者数据不一致。 连接信息修改后,将实时生效,不会清空目标数据库的数据。 存在再编辑子任务时,不支持修改连接信息。
  • 对象名修改 实时同步过程中,如果待同步的库、schema、表对象在源数据库和目标数据库中存储名称不同,可以使用实时同步提供的映射功能进行映射。例如:将源数据库中的A库同步到目标数据库,变成目标数据库中的B库,此时就可以使用库映射功能来实现。 在“设定同步”页面,同步对象右侧已选对象框中,选择需要进行映射的数据库,单击“编辑”按钮。 图1 库映射 修改名称。 在弹出的编辑框中,填写新的数据对象名称,修改后的名称即为保存在目标数据库中的名称。 图2 修改库名 图3 修改schema名 图4 修改表名 查看修改结果。 修改成功后,您会看到修改前和修改后的名称,至此,表示完成对象名映射的配置。 图5 查看修改结果
  • 多对一同步 实时同步过程中,可以使用对象名映射功能修改库、schema、表名称,实现多对一的同步。 以库级多对一为例,schema、表级多对一场景可参考如下步骤: 在“设定同步”页面,同步对象右侧已选对象框中,选择需要进行多对一同步的数据库,分别单击“编辑”按钮。 在“编辑库名”的弹出框中,统一填写新的数据库名,修改后的名称即为保存在目标数据库中的库名。 例如,将源库中的库test_16和库auto_nprocess_001,修改为同样的库test_16_new。 图6 修改结果 库名修改成功后,您会看到修改前的库名和修改后的新数据库名,至此,表示已完成多对一库映射的配置。 配置完成后,等待任务启动并完成同步后,即可实现库test_16、库auto_nprocess_001到库test_16_new的同步。
  • 操作步骤 在“实时同步管理”页面的任务列表中,选择要结束的任务,单击“结束”。 在弹出框中单击“是”,提交结束任务。 当任务状态异常时(例如任务失败、网络异常),DRS会勾选“强制结束任务”优先结束任务,减少等待时间。 “强制结束任务”会直接释放DRS资源,请检查是否存在影响,确认同步情况。 如果需要正常结束任务,请先修复DRS任务,待任务状态正常后,再单击“结束”,正常结束任务。 当任务状态为增量中并且当前链路是以MySQL、TaurusDB为源的DRS链路,勾选“结束时展示断点信息”后,在任务结束后同步进度页面会显示源库的GTID和binlog位点信息。
  • 数据修复(公测中) 当静态内容对比结果中存在不一致数据时,可在对比报表的明细页中选取不一致的表进行数据修复。数据修复结果为可在目标库执行的修复SQL。修复完成后可在对比报表的修复进度明细页查看不一致行的修复SQL生成详情,也可导出和下载针对本次对比所有已生成的不一致SQL,并结合实际情况在目标库手动执行修复SQL。数据修复具有如下约束。 数据修复功能仅支持白名单用户使用,当前支持MYSQL-MYSQL链路、 GaussDB 分布式版-GaussDB(DWS)链路。 对于修复SQL为INSERT或UPDATE语句的场景,修复SQL中将展示不一致行的所有列内容,列值为对应列在源库的当前值。 历史的比对任务可能由于缺少修复信息而修复失败,需要重新比对后再进行修复。 每个同步任务仅保留最新一次数据修复的修复进度明细信息页面。 单个不一致行的数据大小最大支持4M,超过时对应的修复SQL将生成失败。 DRS生成的修复SQL中,时间类型字段的内容是基于UTC时间的,如果表中存在时间字段,目标库执行修复SQL前需先将会话时区设置为0时区。各数据库类型对应的会话时区设置SQL示例如下表。 请谨慎执行修复SQL中的DELETE语句。 表2 各数据库类型设置会话时区为0时区的SQL示例 数据库类型 时区设置SQL MYSQL SET session time_zone='+00:00';
  • 对数据库影响 对象对比:会查询源库及目标库的系统表,占用10个左右的session的连接数,正常情况不会对数据库产生影响。但是如果对象数量巨大(比如几十万张表),可能会对数据库产生一定的查询压力。 行数对比:会查询源库及目标库的表行数,占用10个左右的session的连接数,正常的select count语句基本不会对数据库产生影响。但是如果表数据量巨大(亿级)会对数据库产生一定的查询压力,返回查询结果会比较慢。 内容对比:会查询源库及目标库的全部数据,涉及每个字段都会对比,所以会对数据库产生一定的查询压力,主要体现在IO上,查询速度受限于源库和目标库的IO和网络带宽。占用1-2个CPU,占用10个左右的session的连接数。 用户对比:会查询源库及目标库的账户和权限,基本不会对数据库产生影响。
  • 方式一 在“实时同步管理”页面的任务列表中,选择要修改的任务,单击操作列“编辑”按钮。 进入“源库及目标库”页面,填写源库和目标库信息,单击“下一步”。 在“设定同步”页面,选择编辑同步对象,单击“下一步”。 在“预检查”页面,进行同步任务预校验,校验是否可进行实时同步。 在“任务确认”页面,设置同步任务的启动时间,并确认同步任务信息无误后,勾选协议,单击“启动任务”,提交同步任务。 同步任务提交后,您可在“实时同步管理”页面,查看并管理自己的任务。
  • 方法一 在“实时同步管理”页面,选择需要修改同步对象的任务,单击操作列的“编辑”按钮。 图1 编辑实时同步对象 进入“设置同步”页面,修改需要同步的对象,单击“下一步”。 选择对象时可对展开的库进行搜索,搜索支持正则表达式。 当对象名称包含空格时,名称前后的空格不显示,中间如有多个空格只显示一个空格。 选择的同步对象名称中不能包含空格。 在“数据加工”页面,可参考数据加工章节,为新增加表设置相关规则。 任务再编辑时,已经同步的表不支持修改加工规则。 在“预检查”页面,进行同步任务预校验,校验是否可进行。 查看检查结果,如有不通过的检查项,需要修复不通过项后,单击“重新校验”按钮重新进行任务预校验。 预检查不通过项处理建议请参见《 数据复制服务 用户指南》中的“预检查不通过项修复方法”。 预检查完成后,且所有检查项结果均通过时,单击“下一步”。 所有检查项结果均通过时,若存在请确认项,需要阅读并确认详情后才可以继续执行下一步操作。 在“任务确认”页面,确认同步任务信息无误后,单击“启动任务”,提交同步任务。 返回“实时同步管理”,在同步任务列表中,当前任务状态显示为“增量同步”,并生成任务状态为“任务变更中”的子任务,全量+增量任务的子任务可以单击子任务名称,然后单击“同步进度”页签,查看同步过程中各同步对象的同步进度,DRS通过流式进度展示,可以帮助您实时了解同步完成的情况。 待子任务变更完成后,开始对编辑后的同步对象进行增量同步。
  • 操作步骤 在“实时同步管理”界面,选择指定的同步任务,单击任务名称。 在“同步日志”页签选择“运行日志”,查看当前同步任务的运行日志。 您可查看到日志对应的时间,级别和描述。 图1 同步日志 除此以外,DRS支持对接 云日志 服务(Log Tank Service,简称LTS),进行LTS日志配置后,DRS实例新生成的所有日志记录会上传到云日志服务进行管理,详情可参考日志配置管理。 在“同步日志”页签选择“操作日志”,查看当前同步任务的操作日志。 图2 操作日志
  • 操作步骤 下载用于清除孤儿文档的cleanupOrphaned.js脚本文件。 修改cleanupOrphaned.js脚本文件,将test替换为待清理孤儿文档的数据库名。 执行以下命令,清理Shard节点下指定的数据库中所有集合的孤儿文档。 mongo --host ShardIP --port Primaryport --authenticationDatabase database -u username -p password cleanupOrphaned.js ShardIP:Shard节点的IP地址。 Primaryport:Shard节点中的Primary节点的服务端口。 database:鉴权数据库名,即数据库账号所属的数据库。 username:登录数据库的账号。 password:登录数据库的密码。 如果您有多个数据库,您需要重复执行步骤2和步骤3,分别为每个数据库的每个Shard节点清理孤立文档。
  • 什么是孤儿文档 MongoDB负载均衡器(Balancer)会根据集合的分片键(Shard key)均衡数据。Balancer的工作原理是:需要Balancer的数据块(Chunk)先复制到目标Shard,成功后再删除原Shard上的Chunk,来完成一次Chunk迁移,通过多次Chunk迁移来实现均衡。在Chunk迁移时,如果发生网络闪断等不可预知的场景,完成了复制但没有完成删除,那么对同一条文档会同时存在于两个Shard上。因为Chunk迁移在MongoDB上是感知的,config会更新这条文档应该在哪个Shard上,那么另一个Shard上的文档会存在但不会被感知,后续的update、delete操作都不会作用于这个错误的Shard上的文档,那么这条文档被称为孤儿文档(Orphaned Document)。
  • 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 查看备注信息 数据库用户已存在是不支持迁移到目标数据库的常见情形,此时您可以根据实际情况,决定是否需要删除目标端已存在的数据库用户,并单击“刷新”按钮,刷新当前数据库迁移用户的分类。 以上重新设置的密码强度必须满足目标数据库的密码复杂度要求。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全