检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
方案概述 本实践介绍在华为云弹性云服务器 ECS上构建社区版MySQL和创建TaurusDB实例,并使用数据复制服务DRS将本地MySQL数据库的数据迁移至TaurusDB。通过DRS提供的实时迁移任务,实现在数据库迁移过程中业务中断时间最小化。 应用场景 企业业务高速发展,传统数据库扩容性差,迫切需要分布式化改造。
MySQL 本地自建MySQL数据库 ECS自建MySQL数据库 其他云上MySQL数据库 CSS/ES 本地自建Oracle数据库 ECS自建Oracle数据库 本地自建MariaDB数据库 ECS自建MariaDB数据库 其他云上MariaDB数据库 本地自建MySQL数据库 ECS自建MySQL数据库
安装社区版MySQL 初始化磁盘并安装社区版MySQL。 登录弹性云服务器 登录华为云管理控制台。 单击管理控制台左上角的,选择区域“华南-广州”。 单击页面左上角,选择“计算 > 弹性云服务器 ECS”。 在弹性云服务器名称“ecs-mysql”所在行单击“远程登录”。 选择“CloudShell登录”。
不通过原因:源数据库的SSL连接关闭了。 处理建议:建议打开源数据库的SSL连接,指定配置文件中受信任的根证书地址ssl_ca_file,修改postgresql.conf中的ssl参数为on,重启数据库生效。 父主题: SSL连接检查
目标数据库是否冲突 MySQL迁移场景 表1 目标数据库是否冲突 预检查项 目标数据库是否冲突。 描述 检查目标数据库是否正在被别的迁移任务使用,当多个迁移任务使用同一个目标数据库,可能会导致迁移失败。 不通过提示及处理建议 不通过原因:RDS实例已经在其他的迁移任务中。 处理建
您也可以通过手动输入调整的倍数或结果,对齐参数值。 修改参数值。 业务数据库和灾备数据库的不一致参数值对齐后,单击“一键修改”,系统将按照您当前设置的灾备数据库参数值进行修改。修改完成后,灾备数据库的参数值和对比结果会自动更新。 图12 一键修改参数 部分参数修改后无法在灾备数据库立即生效,需要重
如果源端MySQL已开启了GTID模式,在发生主备倒换时,DRS会记录binlog位点信息,在主备倒换后接续位点继续进行任务,不会丢数据。 源端MySQL可通过修改数据库配置文件方式将GTID开启,重启数据库后生效。 参考命令如下: gtid_mode = on log_slave_updates =
选择灾备实例规格信息 图3 选择灾备实例已规划的网络信息 图4 高级配置 进行规格确认。 如果需要重新选择实例规格,单击“上一步”,回到上个页面修改实例信息。 如果规格确认无误,单击“提交”,完成购买实例的申请。 父主题: 灾备中心RDS for MySQL实例准备
其他云MySQL迁移到云数据库 RDS for MySQL 方案概述 资源规划 操作流程 创建VPC和安全组 创建RDS for MySQL实例 其他云MySQL实例准备 上云操作 父主题: 实时迁移
选择实例规格,其他参数默认配置。 图2 实例规格 单击“立即购买”。 进行规格确认。 如果需要重新选择实例规格,单击“上一步”,回到上个页面修改实例信息。 如果规格确认无误,单击“提交”,完成购买实例的申请。 返回云数据库实例列表。 当RDS实例运行状态为“正常”时,表示实例创建完成。
事务隔离级别一致性校验 MySQL迁移时,源数据库和目标数据库的事务隔离级别需要保持一致。 不通过原因 源数据库和目标数据库的事务隔离级别不一致。 处理建议 修改数据库隔离级别参数(tx_isolation或者transaction_isolation),使源库和目标库的事务隔离级别保持一致。 对于MySQL
TaurusDB实例的root账户默认已具备上述权限。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接业务和灾备数据库的账号密码修改后,请参考修改连接信息章节修改DRS任务的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。 表2中为DR
创建VPC和安全组 创建VPC和安全组,为创建RDS for MySQL实例准备好网络资源和安全组。 创建VPC 进入创建虚拟私有云页面。 在“创建虚拟私有云”页面,根据页面完成基本信息、子网配置和地址配置。 图1 创建虚拟私有云 单击“立即创建”。 返回VPC列表,查看创建VPC是否创建完成。
在创建同步任务前,请务必阅读以下使用须知。 建议创建单独用于DRS任务连接的数据库账号,避免因为数据库账号密码修改,导致的任务连接失败。 连接源和目标数据库的账号密码修改后,请参考修改连接信息章节修改DRS任务的连接信息,避免任务连接失败后自动重试,导致数据库账号被锁定影响使用。 表2 使用须知
连接信息创建成功后,DRS支持再次编辑修改,可修改的任务信息如下: 任务名称 描述 数据库IP 数据库端口 数据库用户名 数据库密码 操作步骤 在“连接信息管理”页面的列表中,选择要修改的任务,单击操作列“编辑”按钮。 在“编辑连接信息”页面,修改数据库信息后,单击“保存并返回”。 父主题:
订阅类型 订阅类型分为数据更新和结构更新。 数据更新: 订阅已选择数据的增量数据更新。 结构更新: 订阅整个实例所有对象的结构创建、删除及修改,您需要使用SDK过滤所需的数据。 订阅对象 数据订阅的订阅对象目前支持表级订阅。您可以根据业务场景选择所需的表。 如果有切换订阅源的操作
目前,DRS实时迁移支持的源数据库和目标数据库类型,如下表所示。 表1 迁移方案 源数据库类型 目标数据库类型 迁移类型 相关文档 本地自建MySQL数据库 ECS自建MySQL数据库 其他云上MySQL数据库 RDS for MySQL RDS for MySQL 全量数据迁移 全量+增量数据迁移 将MySQL迁移到MySQL(入云)
VPC和安全组已在创建源端VPC和安全组中准备好。 配置实例密码。 单击“立即购买”。 进行规格确认。 如果需要重新选择实例规格,单击“上一步”,回到上个页面修改实例信息。 如果规格确认无误,单击“提交”,完成购买实例的申请。 返回云数据库实例列表。 当RDS实例运行状态为“正常”时,表示实例创建完成。
自建MySQL服务器 创建VPC和安全组 创建ECS(MySQL服务器) 安装社区版MySQL 创建ECS并安装MySQL客户端 测试自建MySQL性能 父主题: 实施步骤
源数据库ExpireLogsDays参数检查 MySQL的同步和灾备场景,数据库expire_logs_days参数值为0,可能会导致任务失败。 不通过原因 源库参数expire_logs_days为0时,startup和flush logs等操作会触发binlog清理,从而导致任务失败。