• 热门
  • 基础
  • 数据库
  • 安全
  • 大数据
  • 人工智能
  • 混合云
  • 开发与运维
  • 企业应用

应用服务

行业引擎

全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

MySQL迁移至Elasticsearch

最近更新时间:2024-05-27 18:59:18

支持的数据库类型

源端

目标端

云数据库 MySQL 5.7

自建 Elasticsearch 6.8

前提条件

  • 已创建源端MySQL实例和目标端Elasiticsearch实例。

  • 目标实例存储空间需大于源数据库占用的存储空间。

注意事项

  • 如果源数据库没有主键或唯一约束,且所有字段没有唯一性,可能会导致目标数据库中出现重复数据。

  • DTS在执行全量数据迁移时将占用源库和目标库一定的读写资源,可能会加重数据库压力。因此您需要在执行数据迁移前评估源库和目标库的性能,建议您在业务低峰期进行数据迁移。

  • 数据迁移期间注意不要手动删除binlog文件,否则可能引起迁移失败。

  • 预检查中如果源库日志模式检查失败,源数据库修改binlog_format、binlog_row_image后,请注意重启数据库,否则可能引起数据不一致。

  • 数据迁移期间,避免会话级别修改binlog_format为ROW以外的其他模式,避免会话级别修改binlog_row_image为FULL以外的其他模式,否则可能引起迁移失败。

  • 迁移期间,避免在目的数据库进行写入操作,否则可能引起数据不一致。

  • 对于迁移失败的任务,DTS会触发自动恢复。在您将业务切换至目标实例前,请务必先结束或释放该任务,避免该任务被自动恢复后,导致源端数据覆盖目标实例的数据。

  • 不支持数据库、视图、索引、约束、函数、存储过程、触发器(TRIGGER)和事件(EVENT)的迁移。

  • 在库表结构迁移阶段,请勿执行库或表结构变更的DDL操作,否则数据迁移任务会失败。

  • 不支持无主键表的迁移,无主键表会被自动过滤。

  • 若MySQL实例迁移至Elasticsearch实例的数据包含DOUBLE类数据,迁移后偶现精度差异。

  • 若MySQL实例迁移至Elasticsearch实例的数据包含GBK类中文字符,迁移后会导致数据错误。

  • 若MySQL实例迁移至Elasticsearch实例的数据包含GEOMETRY类数据,迁移后会导致数据错误。

数据库账号的权限要求

数据库

全量迁移

增量迁移

源端为RDS MySQL

SELECT权限

SELECT, RELOAD, REPLICATION SLAVE, REPLICATION CLIENT, SHOW VIEW权限

目标端为自建Elasticsearch

读写权限

读写权限

数据类型映射

由于MySQL和Elasticsearch实例支持的数据类型不同,数据类型无法一一对应,所以DTS会在迁移时对某些数据类型进行特殊处理。以下是部分特殊处理后的数据类型映射关系:

MySQL

Elasticsearch

说明

MEDIUMINT

TEXT

-

DECIMAL

TEXT

-

DATE

DATE

目标端DATE会增加时刻信息,例如:

  • MySQL:2023-11-02

  • Elasticsearch:2023-11-02T00:00:00

操作步骤

  1. 登录数据传输服务控制台,在左侧导航栏点击数据迁移,进入数据迁移页面,点击新建

  2. 在新建任务页面,配置任务信息。

    MySQL步骤1.png

类别

配置

说明

任务信息

任务名称

DTS默认会自动生成一个任务名称,建议根据业务配置相关名称,便于识别。

定时执行

是否定时执行任务,默认为“否”。

  1. 配置源库、目标库信息,并分别进行源库、目标库的数据库连通性检查

类别

配置

说明

源库信息

源库类型

数据库类型,此处选择MySQL

实例类型

实例类型,此处选择云数据库RDS

实例地域

选择源库所属地域。

实例ID和实例名

选择源库实例,支持以实例ID关键字进行搜索。

数据库账号

源库MySQL实例的数据库账号。

数据库密码

源库MySQL实例的数据库密码。

目标库信息

目标库类型

数据库类型,此处选择Elasticsearch

实例类型

实例类型,此处选择自建数据库

网络类型

选择目标库接入的网络类型,此处选择公网

实例外网地址

目标库访问IP地址。

实例端口

目标库访问端口。

数据库账号

目标库Elasticsearch实例的数据库账号。

数据库密码

目标库Elasticsearch实例的数据库密码。

  1. 连通性检查成功后,单击授权白名单并进入下一步

  2. 在迁移类型及列表页面,配置迁移类型、迁移对象。

  • 配置迁移类型

    TiDB步骤2.png
  • 配置迁移对象

    TIDB步骤3.png


    ES步骤1.png

配置

说明

迁移类型

  • 如果要做全量迁移,那么选择全量数据迁移。

  • 如果要做不停机迁移,那么选择全量数据迁移和增量数据迁移。

迁移对象

支持迁移整个实例和指定库表。

  1. 完成配置后单击下一步,在任务详情页面单击预检查进行预检查。

    如果预检查不通过,可以参考 预检查项 修复问题后,重新发起预检查校验。

  • 未通过:表示该检测项检测未通过,需要修复问题后重新发起预检查校验。

  • 警告:表示该检测项检测不完全符合要求,用户需自行评估该警告是否影响业务场景,根据实际需求决定修复或忽略该问题。

    ES步骤2.png
  1. 预检查通过后单击下一步,在购买确认页面选择计费模式,单击确定并创建任务完成订单创建。

  2. 支付成功后迁移任务创建完成,单击开始任务后迁移任务正式开始。如果您需要对任务进行管理,详见 任务管理

    ES步骤3.png

纯净模式常规模式

纯净模式

点击可全屏预览文档内容

鼠标选中内容,快速反馈问题

如果在文档使用中出现问题,可选中有问题的部分进行快速反馈,我们将跟进处理。
不再提示
好的,我知道了

聆听反馈