mysql 中mysql表丢失数据库_mysql数据库表丢失

关于

mysql数据库表丢失的搜索结果

回答

mysql目录只有一些全局授权数据和数据库字典,具体每个库的数据在data下的其他目录里面。删掉mysql目录如何会导致数据丢失?建议试试下面的方法:1、备份data目录下所有非mysql目录。2、如果只是数据字典丢失,删除data下非mysql目录,重新执行建库或建表sql,然后把备份的目录覆盖新创建数据库的子目录。3、如果二进制日志还在,使用mysqlbinlog恢复上次删除目录时到现在的二进制日志。4、如果不是数据字典丢失,而是原始数据目录被删掉,则重新执行建库或建表sql,然后恢复所有的二进制日志。5、如果是原始数据和日志都删掉,也没有任何备份,那就没有任何办法了,linux文件系统无法完全找回丢失数据

蛮大人123

2019-12-02 01:42:39

0 浏览量

回答数 0

问题

mysqldump出的数据库sql文件在另一机器的mysql中source导入结果不一致,表丢失

求指导。用mysqldump导出一张有128张表的数据库sql文件,在另一台机器的mysql中source导入,只剩下84张表。重复多次,也是同样的表丢失。请问这是什么原因啊?系统都是linux ubuntu14.04,mysql5.5...

杨冬芳

2019-12-01 20:23:27

1095 浏览量

回答数 1

问题

mysqldump出的数据库sql文件在ECS上安装的mysql中source导入结果不一致,表丢失

[font='Microsoft YaHei']求指导。用mysqldump导出一张有128张表的数据库sql文件,在ECS的mysql中source导入,只剩下84张表。重复多次...

psa

2019-12-01 21:10:51

4946 浏览量

回答数 1

ff0c35e3aa0877a25f7873cca08f3438.png

Quick BI 数据可视化分析平台

2020年入选全球Gartner ABI魔力象限,为中国首个且唯一入选BI产品

回答

看下

RDS for MySQL默认关闭MyISAM引擎 - 云数据库 RDS 版

MyISAM

引擎表不支持事务,读写操作会相互冲突,仅支持表级别锁。当其上的查询或者写入操作时间比较长的时候,会阻塞其他操作,容易导致连接堆积,而且在crash 后存在数据丢失的风险,因此

RDS

for

MySQL推荐使用 Innodb

引擎。目前

RDS

...

来自:

帮助

>

云数据库 RDS 版

>

技术运维问题

>

MYSQL使用

为什么 RDS for MySQL 不支持 MyISAM 引擎? - 云数据库 RDS 版

RDS

for

MySQL

不支持

MyISAM

引擎的主要原因有如下几个:

MyISAM

对数据完整性的保护存在缺陷,且这些缺陷会导致数据库数据的损坏甚至丢失。另外,这些缺陷很多是设计问题,无法在不破坏兼容性的前提下修复。

MyISAM

在出现数据 ...

来自:

帮助

>

云数据库 RDS 版

>

常见问题

>

功能/付费方式

火蓝云

2019-12-02 00:31:49

0 浏览量

回答数 0

回答

为保障实例的稳定及安全,云数据库MySQL有部分使用上的约束。

其他引擎的使用限制请参见:

SQL Server使用限制 PostgreSQL使用限制 PPAS使用限制 MariaDB使用限制 RDS MySQL的使用限制详情如下表所示。

约束项 使用约束 实例参数 大部分实例参数可以使用控制台或API进行修改,同时出于安全和稳定性考虑,部分参数不支持修改,具体请参见使用控制台设置参数。 数据库root权限 不提供root或者sa权限。 数据库备份 可使用命令行或图形界面进行逻辑备份。 仅限通过控制台或API进行物理备份。 数据库还原 可使用命令行或图形界面进行逻辑数据还原。 仅限通过控制台或API进行物理还原。 MySQL存储引擎 目前仅支持InnoDB引擎。 出于性能和安全性考虑,建议尽量采用InnoDB存储引擎。 不支持TokuDB引擎。由于Percona已经不再对TokuDB提供支持,很多已知BUG无法修正,极端情况下会导致业务受损,因此RDS MySQL在2019年8月1日后将不再支持TokuDB引擎。引擎转换请参见【通知】TokuDB引擎转换为InnoDB引擎。 不支持MyISAM引擎。由于MyISAM引擎的自身缺陷,存在数据丢失的风险,实例的MyISAM引擎表会自动转换为InnoDB引擎表。详情请参见文档为什么 RDS for MySQL 不支持 MyISAM 引擎?。 不支持Memory引擎。Memory引擎的表将会自动转换成InnoDB引擎的表。 数据库复制 RDS MySQL提供主备复制架构(基础版除外),其中的备(slave)实例不对用户开放,用户应用不能直接访问。 实例重启 必须通过控制台或API重启实例。 网络设置 若MySQL 5.5或MySQL 5.6实例位于经典网络且开启了数据库代理,禁止在SNAT模式下开启net.ipv4.tcp_timestamps。 空间存储 若存储空间使用率过高,为防止用户误操作导致数据丢失,将会锁定实例,具体原因及解决办法请参见文档MySQL 实例空间使用率过高的原因和解决方法。 监控报警 MySQL 5.7高可用云盘实例暂不支持报警功能。

游客yl2rjx5yxwcam

2020-03-09 10:46:19

0 浏览量

回答数 0

问题

快速入门MySQL版-使用限制

为保障实例的稳定及安全,云数据库MySQL版有部分使用上的约束,详情如下表所示。

[tr=rgb(51, 205, 229)][td]操作

使用约束修改实例参数设置大部分实例参数可以使用RDS管理控...

李沃晟

2019-12-01 21:36:04

615 浏览量

回答数 0

回答

详细解答可以参考官方帮助文档使用 数据传输服务 DTS 可以将本地 MySQL 实例的数据迁移到 RDS for MySQL 实例。数据传输服务 DTS (以下简称 DTS) 提供的增量数据同步功能,可以实现在本地应用不停服的情况下,平滑完成 MySQL 数据的迁移工作。

本小节简单介绍使用 DTS 进行本地 MySQL->RDS for MySQL 数据迁移的任务配置流程。

迁移步骤对于本地 MySQL->RDS for MySQL 的数据迁移,DTS 支持结构迁移、全量数据迁移及增量数据迁移,这个迁移类型的功能及限制如下:

结构迁移

数据传输会将迁移对象的结构定义迁移到目标实例。目前 DTS 支持结构迁移的对象有:表、视图、触发器、存储过程、存储函数。

全量数据迁移

全量迁移将本地 MySQL 实例的存量数据全部迁移到目标 RDS for MySQL 实例。

如果用户只进行全量数据迁移,那么迁移过程中本地 MySQL 实例新增的业务写入不会被同步到目标 RDS for MySQL 实例。

增量数据迁移

增量数据迁移会将全量数据迁移过程中,本地 MySQL 实例的增量变更数据同步到目标 RDS for MySQL 实例,增量数据迁移可以实现本地 MySQL 实例在迁移过程中产生的增量数据被实时同步到目标库,最终实现本地 MySQL 实例同目标 RDS for MySQL 实例进入动态数据同步的过程。

迁移限制

迁移过程中,不支持 DDL 操作结构迁移不支持 event 的迁移对于MySQL的浮点型float/double,DTS通过round(column,precision)来读取该列的值,若列类型没有明确定义其精度,对于float,精度为38位,double类型,精度为308,请先确认DTS的迁移精度是否符合业务预期如果使用了对象名映射功能后,依赖这个对象的其他对象可能迁移失败当选择增量迁移时,源端的本地 MySQL 实例需要按照要求开启 binlog当选择增量迁移时,源库的 binlog_format 要为 row当选择增量迁移且源 MySQL 如果为 5.6 及以上版本时,它的 binlog_row_image 必须为 full当选择增量迁移时,增量迁移过程中如果源MySQL实例出现因实例跨机迁移或跨机重建等导致的binlog 文件ID乱序,可能导致增量迁移数据丢失

迁移权限要求当使用 DTS 进行本地 MySQL->RDS for MySQL迁移时,在不同迁移类型,对源端和目标端 MySQL 实例的迁移帐号权限要求如下:

迁移类型

结构迁移

全量迁移

增量迁移

本地 MySQL 实例

select

select

superselectreplication slavereplication client

目标端 RDS for MySQL 实例

读写权限

读写权限

读写权限

迁移流程DTS 在进行本地 MySQL->RDS for Mysql 数据迁移时,为了解决对象间的依赖关系,提高迁移成功率。结构对象及数据的迁移顺序如下:

结构对象:表、视图的迁移全量数据迁移结构对象:存储过程、函数、触发器、外键的迁移增量数据迁移

如果任务没有选择增量数据迁移,那么当全量数据迁移完成后,任务列表中的迁移进度为:结构迁移 100%,全量迁移 100%,迁移状态为“迁移中”。此时迁移任务正在进行步骤(3) 中的对象的迁移。此时,请勿手动结束任务,否则会造成迁移数据丢失。

迁移任务配置下面详细介绍使用 DTS 将本地 MySQL 实例中的数据迁移到阿里云 RDS for MySQL 实例的任务配置流程。

RDS for MySQL 实例数据库创建在数据迁移过程中,如果待迁移的数据库在目标 RDS 实例中不存在,那么 DTS 自动会创建。但是对于如下两种情况,用户需要在配置迁移任务之前,手动创建数据库。

数据库名称不符合 RDS 定义规范(由小写字母、数字、下划线、中划线组成,字母开头,字母或数字结尾,最长 64 个字符)。待迁移数据库,在源端本地 MySQL 和目标端 RDS for MySQL 实例中名称不同。

对于这两种情况,用户需要在配置迁移任务之前,先在 RDS 控制台完成数据库创建。具体参考 RDS使用手册 - 创建数据库”。

迁移帐号创建迁移任务配置,需要提供本地 MySQL 数据库及目标 RDS for MySQL 实例的迁移账号。迁移账号所需权限详见上文的 迁移权限要求 部分。

如果源端 MySQL 实例迁移账号尚未创建,那么您可以参考 Grant 语法说明,创建满足权限要求的迁移账号。

如果目标端 RDS for MySQL 实例迁移账号创建,那么您可以参考 RDS 账号创建流程,创建对待迁移数据库有读写权限的迁移账号。

其他准备工作如果需要进行增量迁移,那么需要确认源库的 binlog 是否开启,格式是否满足要求。具体确认项如下。

确认源库的 binlog 是否开启。

如果这里面查询出来的 log_bin=OFF,则说明源库没有开启 binlog,这个时候如果需要使用增量迁移的话,需要修改本地 MySQL 的 binlog 配置,打开 binlog 日志。

开启二进制日志,修改 log_bin=mysql_bin。设置 binlog 模式为 row,修改 binlog_format=row。配置 server_id 大于 1,即 server_id=某一个大于 1 的整数。如果版本为 5.6,修改 binlog_row_image=full。修改完成后,重启 MySQL 进程。

确认源库的 binlog 格式为 row 模式。

使用上面的命令确认本地 MySQL 的 binlog 格式是否为 ROW,如果查询出来的结果不为 ROW 的话,那么通过如下的参数设置命令将模式修改为 ROW。

当修改完成后,建议将源库上已有的连接 KILL 掉,并且重新连接,否则可能出现其他的连接依然使用 statement 格式记录 binlog 日志。

当本地 MySQL 版本大等于 5.6.2 时,确认源库的 binlog_row_image=full。

如果查询出来的结果不为 FULL 的话,那么通过如下的参数设置命令将其修改为 FULL。

迁移任务配置当数据库、迁移账号都创建完成后,就可以开始配置迁移任务了。下面详细介绍下具体的配置步骤。

进入 数据传输 DTS 控制台,点击右上角的 创建迁移任务,开始任务配置。本地 MySQL 实例及目标 RDS for MySQL 实例连接信息配置。

在这个步骤中,主要配置迁移任务名称,迁移源实例及目标实例连接信息。其中:

任务名称

默认情况下,DTS 为每个任务自动生成一个任务名称。任务名称没有唯一性要求,您可以修改这个名称,为任务配置一个具有业务意义的名称,便于后续的任务识别。

源实例连接信息

实例类型:选择 有公网 IP 的自建数据库数据库类型:选择 MySQL主机名或 IP 地址:配置本地 MySQL 数据库实例的访问地址,这个地址必须为公网访问方式端口:MySQL 实例监听端口账号:MySQL 实例访问账号密码:上面指定的 MySQL 访问账号对应的密码

目标 RDS for MySQL 实例连接信息。

实例类型:选择 RDS 实例RDS 实例 ID: 配置迁移的目标 RDS 实例的实例 ID。 DTS 支持经典网络、VPC 网络的 RDS for MySQL 实例数据库账号:RDS for MySQL 实例的连接账号数据库密码:上面指定的数据库账号对应的数据库密码

迁移对象及迁移类型配置。

迁移类型

DTS 支持 结构迁移、全量数据迁移、增量数据迁移。

如果需要进行不停机迁移,那么需要选择:结构迁移+全量数据迁移+增量数据迁移。

如果只进行全量迁移,那么需要选择:结构迁移+全量数据迁移。

迁移对象

迁移对象,需要选择您要迁移的对象。迁移对象选择的粒度可以为:库、表、列三个粒度。

默认情况下,对象迁移到 RDS for MySQL 实例后,对象名跟本地 MySQL 实例一致。如果您迁移的对象在源实例跟目标实例上名称不同,那么需要使用 DTS 提供的对象名映射功能,详细使用方式可以参考 库表列映射。

当配置完迁移对象及迁移类型后,即进入任务启动前的预检查步骤

预检查。

在迁移任务正式启动之前,会先进行前置预检查,只有预检查通过后,才能成功启动迁移。

如果预检查失败,那么可以点击具体检查项后的按钮,查看具体的失败详情,并根据失败原因修复后,重新进行预检查。

启动迁移任务。

当预检查通过后,我们可以启动迁移任务,任务启动后,可以到任务列表中查看任务具体的迁移状态及进度。

增量数据迁移是个动态同步的过程,所以建议在增量迁移达到无延迟状态时,在目标数据库上进行业务验证,如果验证成功,那么可以停掉迁移任务,然后将业务切换到目标数据库。

至此,完成将本地 MySQL 数据库实例到阿里云 RDS for MySQL 的数据迁移任务配置。

2019-12-01 23:09:41

0 浏览量

回答数 0

回答

详细解答可以参考官方帮助文档使用 数据传输服务 DTS 可以将本地 MySQL 实例的数据迁移到 RDS for MySQL 实例。数据传输服务 DTS (以下简称 DTS) 提供的增量数据同步功能,可以实现在本地应用不停服的情况下,平滑完成 MySQL 数据的迁移工作。

本小节简单介绍使用 DTS 进行本地 MySQL->RDS for MySQL 数据迁移的任务配置流程。

迁移步骤对于本地 MySQL->RDS for MySQL 的数据迁移,DTS 支持结构迁移、全量数据迁移及增量数据迁移,这个迁移类型的功能及限制如下:

结构迁移

数据传输会将迁移对象的结构定义迁移到目标实例。目前 DTS 支持结构迁移的对象有:表、视图、触发器、存储过程、存储函数。

全量数据迁移

全量迁移将本地 MySQL 实例的存量数据全部迁移到目标 RDS for MySQL 实例。

如果用户只进行全量数据迁移,那么迁移过程中本地 MySQL 实例新增的业务写入不会被同步到目标 RDS for MySQL 实例。

增量数据迁移

增量数据迁移会将全量数据迁移过程中,本地 MySQL 实例的增量变更数据同步到目标 RDS for MySQL 实例,增量数据迁移可以实现本地 MySQL 实例在迁移过程中产生的增量数据被实时同步到目标库,最终实现本地 MySQL 实例同目标 RDS for MySQL 实例进入动态数据同步的过程。

迁移限制

迁移过程中,不支持 DDL 操作结构迁移不支持 event 的迁移对于MySQL的浮点型float/double,DTS通过round(column,precision)来读取该列的值,若列类型没有明确定义其精度,对于float,精度为38位,double类型,精度为308,请先确认DTS的迁移精度是否符合业务预期如果使用了对象名映射功能后,依赖这个对象的其他对象可能迁移失败当选择增量迁移时,源端的本地 MySQL 实例需要按照要求开启 binlog当选择增量迁移时,源库的 binlog_format 要为 row当选择增量迁移且源 MySQL 如果为 5.6 及以上版本时,它的 binlog_row_image 必须为 full当选择增量迁移时,增量迁移过程中如果源MySQL实例出现因实例跨机迁移或跨机重建等导致的binlog 文件ID乱序,可能导致增量迁移数据丢失

迁移权限要求当使用 DTS 进行本地 MySQL->RDS for MySQL迁移时,在不同迁移类型,对源端和目标端 MySQL 实例的迁移帐号权限要求如下:

迁移类型

结构迁移

全量迁移

增量迁移

本地 MySQL 实例

select

select

superselectreplication slavereplication client

目标端 RDS for MySQL 实例

读写权限

读写权限

读写权限

迁移流程DTS 在进行本地 MySQL->RDS for Mysql 数据迁移时,为了解决对象间的依赖关系,提高迁移成功率。结构对象及数据的迁移顺序如下:

结构对象:表、视图的迁移全量数据迁移结构对象:存储过程、函数、触发器、外键的迁移增量数据迁移

如果任务没有选择增量数据迁移,那么当全量数据迁移完成后,任务列表中的迁移进度为:结构迁移 100%,全量迁移 100%,迁移状态为“迁移中”。此时迁移任务正在进行步骤(3) 中的对象的迁移。此时,请勿手动结束任务,否则会造成迁移数据丢失。

迁移任务配置下面详细介绍使用 DTS 将本地 MySQL 实例中的数据迁移到阿里云 RDS for MySQL 实例的任务配置流程。

RDS for MySQL 实例数据库创建在数据迁移过程中,如果待迁移的数据库在目标 RDS 实例中不存在,那么 DTS 自动会创建。但是对于如下两种情况,用户需要在配置迁移任务之前,手动创建数据库。

数据库名称不符合 RDS 定义规范(由小写字母、数字、下划线、中划线组成,字母开头,字母或数字结尾,最长 64 个字符)。待迁移数据库,在源端本地 MySQL 和目标端 RDS for MySQL 实例中名称不同。

对于这两种情况,用户需要在配置迁移任务之前,先在 RDS 控制台完成数据库创建。具体参考 RDS使用手册 - 创建数据库”。

迁移帐号创建迁移任务配置,需要提供本地 MySQL 数据库及目标 RDS for MySQL 实例的迁移账号。迁移账号所需权限详见上文的 迁移权限要求 部分。

如果源端 MySQL 实例迁移账号尚未创建,那么您可以参考 Grant 语法说明,创建满足权限要求的迁移账号。

如果目标端 RDS for MySQL 实例迁移账号创建,那么您可以参考 RDS 账号创建流程,创建对待迁移数据库有读写权限的迁移账号。

其他准备工作如果需要进行增量迁移,那么需要确认源库的 binlog 是否开启,格式是否满足要求。具体确认项如下。

确认源库的 binlog 是否开启。

如果这里面查询出来的 log_bin=OFF,则说明源库没有开启 binlog,这个时候如果需要使用增量迁移的话,需要修改本地 MySQL 的 binlog 配置,打开 binlog 日志。

开启二进制日志,修改 log_bin=mysql_bin。设置 binlog 模式为 row,修改 binlog_format=row。配置 server_id 大于 1,即 server_id=某一个大于 1 的整数。如果版本为 5.6,修改 binlog_row_image=full。修改完成后,重启 MySQL 进程。

确认源库的 binlog 格式为 row 模式。

使用上面的命令确认本地 MySQL 的 binlog 格式是否为 ROW,如果查询出来的结果不为 ROW 的话,那么通过如下的参数设置命令将模式修改为 ROW。

当修改完成后,建议将源库上已有的连接 KILL 掉,并且重新连接,否则可能出现其他的连接依然使用 statement 格式记录 binlog 日志。

当本地 MySQL 版本大等于 5.6.2 时,确认源库的 binlog_row_image=full。

如果查询出来的结果不为 FULL 的话,那么通过如下的参数设置命令将其修改为 FULL。

迁移任务配置当数据库、迁移账号都创建完成后,就可以开始配置迁移任务了。下面详细介绍下具体的配置步骤。

进入 数据传输 DTS 控制台,点击右上角的 创建迁移任务,开始任务配置。本地 MySQL 实例及目标 RDS for MySQL 实例连接信息配置。

在这个步骤中,主要配置迁移任务名称,迁移源实例及目标实例连接信息。其中:

任务名称

默认情况下,DTS 为每个任务自动生成一个任务名称。任务名称没有唯一性要求,您可以修改这个名称,为任务配置一个具有业务意义的名称,便于后续的任务识别。

源实例连接信息

实例类型:选择 有公网 IP 的自建数据库数据库类型:选择 MySQL主机名或 IP 地址:配置本地 MySQL 数据库实例的访问地址,这个地址必须为公网访问方式端口:MySQL 实例监听端口账号:MySQL 实例访问账号密码:上面指定的 MySQL 访问账号对应的密码

目标 RDS for MySQL 实例连接信息。

实例类型:选择 RDS 实例RDS 实例 ID: 配置迁移的目标 RDS 实例的实例 ID。 DTS 支持经典网络、VPC 网络的 RDS for MySQL 实例数据库账号:RDS for MySQL 实例的连接账号数据库密码:上面指定的数据库账号对应的数据库密码

迁移对象及迁移类型配置。

迁移类型

DTS 支持 结构迁移、全量数据迁移、增量数据迁移。

如果需要进行不停机迁移,那么需要选择:结构迁移+全量数据迁移+增量数据迁移。

如果只进行全量迁移,那么需要选择:结构迁移+全量数据迁移。

迁移对象

迁移对象,需要选择您要迁移的对象。迁移对象选择的粒度可以为:库、表、列三个粒度。

默认情况下,对象迁移到 RDS for MySQL 实例后,对象名跟本地 MySQL 实例一致。如果您迁移的对象在源实例跟目标实例上名称不同,那么需要使用 DTS 提供的对象名映射功能,详细使用方式可以参考 库表列映射。

当配置完迁移对象及迁移类型后,即进入任务启动前的预检查步骤

预检查。

在迁移任务正式启动之前,会先进行前置预检查,只有预检查通过后,才能成功启动迁移。

如果预检查失败,那么可以点击具体检查项后的按钮,查看具体的失败详情,并根据失败原因修复后,重新进行预检查。

启动迁移任务。

当预检查通过后,我们可以启动迁移任务,任务启动后,可以到任务列表中查看任务具体的迁移状态及进度。

增量数据迁移是个动态同步的过程,所以建议在增量迁移达到无延迟状态时,在目标数据库上进行业务验证,如果验证成功,那么可以停掉迁移任务,然后将业务切换到目标数据库。

至此,完成将本地 MySQL 数据库实例到阿里云 RDS for MySQL 的数据迁移任务配置。

2019-12-01 23:09:41

0 浏览量

回答数 0

回答

详细解答可以参考官方帮助文档使用 数据传输服务 DTS 可以将本地 MySQL 实例的数据迁移到 RDS for MySQL 实例。数据传输服务 DTS (以下简称 DTS) 提供的增量数据同步功能,可以实现在本地应用不停服的情况下,平滑完成 MySQL 数据的迁移工作。

本小节简单介绍使用 DTS 进行本地 MySQL->RDS for MySQL 数据迁移的任务配置流程。

迁移步骤对于本地 MySQL->RDS for MySQL 的数据迁移,DTS 支持结构迁移、全量数据迁移及增量数据迁移,这个迁移类型的功能及限制如下:

结构迁移

数据传输会将迁移对象的结构定义迁移到目标实例。目前 DTS 支持结构迁移的对象有:表、视图、触发器、存储过程、存储函数。

全量数据迁移

全量迁移将本地 MySQL 实例的存量数据全部迁移到目标 RDS for MySQL 实例。

如果用户只进行全量数据迁移,那么迁移过程中本地 MySQL 实例新增的业务写入不会被同步到目标 RDS for MySQL 实例。

增量数据迁移

增量数据迁移会将全量数据迁移过程中,本地 MySQL 实例的增量变更数据同步到目标 RDS for MySQL 实例,增量数据迁移可以实现本地 MySQL 实例在迁移过程中产生的增量数据被实时同步到目标库,最终实现本地 MySQL 实例同目标 RDS for MySQL 实例进入动态数据同步的过程。

迁移限制

迁移过程中,不支持 DDL 操作结构迁移不支持 event 的迁移对于MySQL的浮点型float/double,DTS通过round(column,precision)来读取该列的值,若列类型没有明确定义其精度,对于float,精度为38位,double类型,精度为308,请先确认DTS的迁移精度是否符合业务预期如果使用了对象名映射功能后,依赖这个对象的其他对象可能迁移失败当选择增量迁移时,源端的本地 MySQL 实例需要按照要求开启 binlog当选择增量迁移时,源库的 binlog_format 要为 row当选择增量迁移且源 MySQL 如果为 5.6 及以上版本时,它的 binlog_row_image 必须为 full当选择增量迁移时,增量迁移过程中如果源MySQL实例出现因实例跨机迁移或跨机重建等导致的binlog 文件ID乱序,可能导致增量迁移数据丢失

迁移权限要求当使用 DTS 进行本地 MySQL->RDS for MySQL迁移时,在不同迁移类型,对源端和目标端 MySQL 实例的迁移帐号权限要求如下:

迁移类型

结构迁移

全量迁移

增量迁移

本地 MySQL 实例

select

select

superselectreplication slavereplication client

目标端 RDS for MySQL 实例

读写权限

读写权限

读写权限

迁移流程DTS 在进行本地 MySQL->RDS for Mysql 数据迁移时,为了解决对象间的依赖关系,提高迁移成功率。结构对象及数据的迁移顺序如下:

结构对象:表、视图的迁移全量数据迁移结构对象:存储过程、函数、触发器、外键的迁移增量数据迁移

如果任务没有选择增量数据迁移,那么当全量数据迁移完成后,任务列表中的迁移进度为:结构迁移 100%,全量迁移 100%,迁移状态为“迁移中”。此时迁移任务正在进行步骤(3) 中的对象的迁移。此时,请勿手动结束任务,否则会造成迁移数据丢失。

迁移任务配置下面详细介绍使用 DTS 将本地 MySQL 实例中的数据迁移到阿里云 RDS for MySQL 实例的任务配置流程。

RDS for MySQL 实例数据库创建在数据迁移过程中,如果待迁移的数据库在目标 RDS 实例中不存在,那么 DTS 自动会创建。但是对于如下两种情况,用户需要在配置迁移任务之前,手动创建数据库。

数据库名称不符合 RDS 定义规范(由小写字母、数字、下划线、中划线组成,字母开头,字母或数字结尾,最长 64 个字符)。待迁移数据库,在源端本地 MySQL 和目标端 RDS for MySQL 实例中名称不同。

对于这两种情况,用户需要在配置迁移任务之前,先在 RDS 控制台完成数据库创建。具体参考 RDS使用手册 - 创建数据库”。

迁移帐号创建迁移任务配置,需要提供本地 MySQL 数据库及目标 RDS for MySQL 实例的迁移账号。迁移账号所需权限详见上文的 迁移权限要求 部分。

如果源端 MySQL 实例迁移账号尚未创建,那么您可以参考 Grant 语法说明,创建满足权限要求的迁移账号。

如果目标端 RDS for MySQL 实例迁移账号创建,那么您可以参考 RDS 账号创建流程,创建对待迁移数据库有读写权限的迁移账号。

其他准备工作如果需要进行增量迁移,那么需要确认源库的 binlog 是否开启,格式是否满足要求。具体确认项如下。

确认源库的 binlog 是否开启。

如果这里面查询出来的 log_bin=OFF,则说明源库没有开启 binlog,这个时候如果需要使用增量迁移的话,需要修改本地 MySQL 的 binlog 配置,打开 binlog 日志。

开启二进制日志,修改 log_bin=mysql_bin。设置 binlog 模式为 row,修改 binlog_format=row。配置 server_id 大于 1,即 server_id=某一个大于 1 的整数。如果版本为 5.6,修改 binlog_row_image=full。修改完成后,重启 MySQL 进程。

确认源库的 binlog 格式为 row 模式。

使用上面的命令确认本地 MySQL 的 binlog 格式是否为 ROW,如果查询出来的结果不为 ROW 的话,那么通过如下的参数设置命令将模式修改为 ROW。

当修改完成后,建议将源库上已有的连接 KILL 掉,并且重新连接,否则可能出现其他的连接依然使用 statement 格式记录 binlog 日志。

当本地 MySQL 版本大等于 5.6.2 时,确认源库的 binlog_row_image=full。

如果查询出来的结果不为 FULL 的话,那么通过如下的参数设置命令将其修改为 FULL。

迁移任务配置当数据库、迁移账号都创建完成后,就可以开始配置迁移任务了。下面详细介绍下具体的配置步骤。

进入 数据传输 DTS 控制台,点击右上角的 创建迁移任务,开始任务配置。本地 MySQL 实例及目标 RDS for MySQL 实例连接信息配置。

在这个步骤中,主要配置迁移任务名称,迁移源实例及目标实例连接信息。其中:

任务名称

默认情况下,DTS 为每个任务自动生成一个任务名称。任务名称没有唯一性要求,您可以修改这个名称,为任务配置一个具有业务意义的名称,便于后续的任务识别。

源实例连接信息

实例类型:选择 有公网 IP 的自建数据库数据库类型:选择 MySQL主机名或 IP 地址:配置本地 MySQL 数据库实例的访问地址,这个地址必须为公网访问方式端口:MySQL 实例监听端口账号:MySQL 实例访问账号密码:上面指定的 MySQL 访问账号对应的密码

目标 RDS for MySQL 实例连接信息。

实例类型:选择 RDS 实例RDS 实例 ID: 配置迁移的目标 RDS 实例的实例 ID。 DTS 支持经典网络、VPC 网络的 RDS for MySQL 实例数据库账号:RDS for MySQL 实例的连接账号数据库密码:上面指定的数据库账号对应的数据库密码

迁移对象及迁移类型配置。

迁移类型

DTS 支持 结构迁移、全量数据迁移、增量数据迁移。

如果需要进行不停机迁移,那么需要选择:结构迁移+全量数据迁移+增量数据迁移。

如果只进行全量迁移,那么需要选择:结构迁移+全量数据迁移。

迁移对象

迁移对象,需要选择您要迁移的对象。迁移对象选择的粒度可以为:库、表、列三个粒度。

默认情况下,对象迁移到 RDS for MySQL 实例后,对象名跟本地 MySQL 实例一致。如果您迁移的对象在源实例跟目标实例上名称不同,那么需要使用 DTS 提供的对象名映射功能,详细使用方式可以参考 库表列映射。

当配置完迁移对象及迁移类型后,即进入任务启动前的预检查步骤

预检查。

在迁移任务正式启动之前,会先进行前置预检查,只有预检查通过后,才能成功启动迁移。

如果预检查失败,那么可以点击具体检查项后的按钮,查看具体的失败详情,并根据失败原因修复后,重新进行预检查。

启动迁移任务。

当预检查通过后,我们可以启动迁移任务,任务启动后,可以到任务列表中查看任务具体的迁移状态及进度。

增量数据迁移是个动态同步的过程,所以建议在增量迁移达到无延迟状态时,在目标数据库上进行业务验证,如果验证成功,那么可以停掉迁移任务,然后将业务切换到目标数据库。

至此,完成将本地 MySQL 数据库实例到阿里云 RDS for MySQL 的数据迁移任务配置。

2019-12-01 23:09:40

0 浏览量

回答数 0

回答

详细解答可以参考官方帮助文档使用 数据传输服务 DTS 可以将本地 MySQL 实例的数据迁移到 RDS for MySQL 实例。数据传输服务 DTS (以下简称 DTS) 提供的增量数据同步功能,可以实现在本地应用不停服的情况下,平滑完成 MySQL 数据的迁移工作。

本小节简单介绍使用 DTS 进行本地 MySQL->RDS for MySQL 数据迁移的任务配置流程。

迁移步骤对于本地 MySQL->RDS for MySQL 的数据迁移,DTS 支持结构迁移、全量数据迁移及增量数据迁移,这个迁移类型的功能及限制如下:

结构迁移

数据传输会将迁移对象的结构定义迁移到目标实例。目前 DTS 支持结构迁移的对象有:表、视图、触发器、存储过程、存储函数。

全量数据迁移

全量迁移将本地 MySQL 实例的存量数据全部迁移到目标 RDS for MySQL 实例。

如果用户只进行全量数据迁移,那么迁移过程中本地 MySQL 实例新增的业务写入不会被同步到目标 RDS for MySQL 实例。

增量数据迁移

增量数据迁移会将全量数据迁移过程中,本地 MySQL 实例的增量变更数据同步到目标 RDS for MySQL 实例,增量数据迁移可以实现本地 MySQL 实例在迁移过程中产生的增量数据被实时同步到目标库,最终实现本地 MySQL 实例同目标 RDS for MySQL 实例进入动态数据同步的过程。

迁移限制

迁移过程中,不支持 DDL 操作结构迁移不支持 event 的迁移对于MySQL的浮点型float/double,DTS通过round(column,precision)来读取该列的值,若列类型没有明确定义其精度,对于float,精度为38位,double类型,精度为308,请先确认DTS的迁移精度是否符合业务预期如果使用了对象名映射功能后,依赖这个对象的其他对象可能迁移失败当选择增量迁移时,源端的本地 MySQL 实例需要按照要求开启 binlog当选择增量迁移时,源库的 binlog_format 要为 row当选择增量迁移且源 MySQL 如果为 5.6 及以上版本时,它的 binlog_row_image 必须为 full当选择增量迁移时,增量迁移过程中如果源MySQL实例出现因实例跨机迁移或跨机重建等导致的binlog 文件ID乱序,可能导致增量迁移数据丢失

迁移权限要求当使用 DTS 进行本地 MySQL->RDS for MySQL迁移时,在不同迁移类型,对源端和目标端 MySQL 实例的迁移帐号权限要求如下:

迁移类型

结构迁移

全量迁移

增量迁移

本地 MySQL 实例

select

select

superselectreplication slavereplication client

目标端 RDS for MySQL 实例

读写权限

读写权限

读写权限

迁移流程DTS 在进行本地 MySQL->RDS for Mysql 数据迁移时,为了解决对象间的依赖关系,提高迁移成功率。结构对象及数据的迁移顺序如下:

结构对象:表、视图的迁移全量数据迁移结构对象:存储过程、函数、触发器、外键的迁移增量数据迁移

如果任务没有选择增量数据迁移,那么当全量数据迁移完成后,任务列表中的迁移进度为:结构迁移 100%,全量迁移 100%,迁移状态为“迁移中”。此时迁移任务正在进行步骤(3) 中的对象的迁移。此时,请勿手动结束任务,否则会造成迁移数据丢失。

迁移任务配置下面详细介绍使用 DTS 将本地 MySQL 实例中的数据迁移到阿里云 RDS for MySQL 实例的任务配置流程。

RDS for MySQL 实例数据库创建在数据迁移过程中,如果待迁移的数据库在目标 RDS 实例中不存在,那么 DTS 自动会创建。但是对于如下两种情况,用户需要在配置迁移任务之前,手动创建数据库。

数据库名称不符合 RDS 定义规范(由小写字母、数字、下划线、中划线组成,字母开头,字母或数字结尾,最长 64 个字符)。待迁移数据库,在源端本地 MySQL 和目标端 RDS for MySQL 实例中名称不同。

对于这两种情况,用户需要在配置迁移任务之前,先在 RDS 控制台完成数据库创建。具体参考 RDS使用手册 - 创建数据库”。

迁移帐号创建迁移任务配置,需要提供本地 MySQL 数据库及目标 RDS for MySQL 实例的迁移账号。迁移账号所需权限详见上文的 迁移权限要求 部分。

如果源端 MySQL 实例迁移账号尚未创建,那么您可以参考 Grant 语法说明,创建满足权限要求的迁移账号。

如果目标端 RDS for MySQL 实例迁移账号创建,那么您可以参考 RDS 账号创建流程,创建对待迁移数据库有读写权限的迁移账号。

其他准备工作如果需要进行增量迁移,那么需要确认源库的 binlog 是否开启,格式是否满足要求。具体确认项如下。

确认源库的 binlog 是否开启。

如果这里面查询出来的 log_bin=OFF,则说明源库没有开启 binlog,这个时候如果需要使用增量迁移的话,需要修改本地 MySQL 的 binlog 配置,打开 binlog 日志。

开启二进制日志,修改 log_bin=mysql_bin。设置 binlog 模式为 row,修改 binlog_format=row。配置 server_id 大于 1,即 server_id=某一个大于 1 的整数。如果版本为 5.6,修改 binlog_row_image=full。修改完成后,重启 MySQL 进程。

确认源库的 binlog 格式为 row 模式。

使用上面的命令确认本地 MySQL 的 binlog 格式是否为 ROW,如果查询出来的结果不为 ROW 的话,那么通过如下的参数设置命令将模式修改为 ROW。

当修改完成后,建议将源库上已有的连接 KILL 掉,并且重新连接,否则可能出现其他的连接依然使用 statement 格式记录 binlog 日志。

当本地 MySQL 版本大等于 5.6.2 时,确认源库的 binlog_row_image=full。

如果查询出来的结果不为 FULL 的话,那么通过如下的参数设置命令将其修改为 FULL。

迁移任务配置当数据库、迁移账号都创建完成后,就可以开始配置迁移任务了。下面详细介绍下具体的配置步骤。

进入 数据传输 DTS 控制台,点击右上角的 创建迁移任务,开始任务配置。本地 MySQL 实例及目标 RDS for MySQL 实例连接信息配置。

在这个步骤中,主要配置迁移任务名称,迁移源实例及目标实例连接信息。其中:

任务名称

默认情况下,DTS 为每个任务自动生成一个任务名称。任务名称没有唯一性要求,您可以修改这个名称,为任务配置一个具有业务意义的名称,便于后续的任务识别。

源实例连接信息

实例类型:选择 有公网 IP 的自建数据库数据库类型:选择 MySQL主机名或 IP 地址:配置本地 MySQL 数据库实例的访问地址,这个地址必须为公网访问方式端口:MySQL 实例监听端口账号:MySQL 实例访问账号密码:上面指定的 MySQL 访问账号对应的密码

目标 RDS for MySQL 实例连接信息。

实例类型:选择 RDS 实例RDS 实例 ID: 配置迁移的目标 RDS 实例的实例 ID。 DTS 支持经典网络、VPC 网络的 RDS for MySQL 实例数据库账号:RDS for MySQL 实例的连接账号数据库密码:上面指定的数据库账号对应的数据库密码

迁移对象及迁移类型配置。

迁移类型

DTS 支持 结构迁移、全量数据迁移、增量数据迁移。

如果需要进行不停机迁移,那么需要选择:结构迁移+全量数据迁移+增量数据迁移。

如果只进行全量迁移,那么需要选择:结构迁移+全量数据迁移。

迁移对象

迁移对象,需要选择您要迁移的对象。迁移对象选择的粒度可以为:库、表、列三个粒度。

默认情况下,对象迁移到 RDS for MySQL 实例后,对象名跟本地 MySQL 实例一致。如果您迁移的对象在源实例跟目标实例上名称不同,那么需要使用 DTS 提供的对象名映射功能,详细使用方式可以参考 库表列映射。

当配置完迁移对象及迁移类型后,即进入任务启动前的预检查步骤

预检查。

在迁移任务正式启动之前,会先进行前置预检查,只有预检查通过后,才能成功启动迁移。

如果预检查失败,那么可以点击具体检查项后的按钮,查看具体的失败详情,并根据失败原因修复后,重新进行预检查。

启动迁移任务。

当预检查通过后,我们可以启动迁移任务,任务启动后,可以到任务列表中查看任务具体的迁移状态及进度。

增量数据迁移是个动态同步的过程,所以建议在增量迁移达到无延迟状态时,在目标数据库上进行业务验证,如果验证成功,那么可以停掉迁移任务,然后将业务切换到目标数据库。

至此,完成将本地 MySQL 数据库实例到阿里云 RDS for MySQL 的数据迁移任务配置。

2019-12-01 23:09:41

0 浏览量

回答数 0

回答

详细解答可以参考官方帮助文档使用 数据传输服务 DTS 可以将本地 MySQL 实例的数据迁移到 RDS for MySQL 实例。数据传输服务 DTS (以下简称 DTS) 提供的增量数据同步功能,可以实现在本地应用不停服的情况下,平滑完成 MySQL 数据的迁移工作。

本小节简单介绍使用 DTS 进行本地 MySQL->RDS for MySQL 数据迁移的任务配置流程。

迁移步骤对于本地 MySQL->RDS for MySQL 的数据迁移,DTS 支持结构迁移、全量数据迁移及增量数据迁移,这个迁移类型的功能及限制如下:

结构迁移

数据传输会将迁移对象的结构定义迁移到目标实例。目前 DTS 支持结构迁移的对象有:表、视图、触发器、存储过程、存储函数。

全量数据迁移

全量迁移将本地 MySQL 实例的存量数据全部迁移到目标 RDS for MySQL 实例。

如果用户只进行全量数据迁移,那么迁移过程中本地 MySQL 实例新增的业务写入不会被同步到目标 RDS for MySQL 实例。

增量数据迁移

增量数据迁移会将全量数据迁移过程中,本地 MySQL 实例的增量变更数据同步到目标 RDS for MySQL 实例,增量数据迁移可以实现本地 MySQL 实例在迁移过程中产生的增量数据被实时同步到目标库,最终实现本地 MySQL 实例同目标 RDS for MySQL 实例进入动态数据同步的过程。

迁移限制

迁移过程中,不支持 DDL 操作结构迁移不支持 event 的迁移对于MySQL的浮点型float/double,DTS通过round(column,precision)来读取该列的值,若列类型没有明确定义其精度,对于float,精度为38位,double类型,精度为308,请先确认DTS的迁移精度是否符合业务预期如果使用了对象名映射功能后,依赖这个对象的其他对象可能迁移失败当选择增量迁移时,源端的本地 MySQL 实例需要按照要求开启 binlog当选择增量迁移时,源库的 binlog_format 要为 row当选择增量迁移且源 MySQL 如果为 5.6 及以上版本时,它的 binlog_row_image 必须为 full当选择增量迁移时,增量迁移过程中如果源MySQL实例出现因实例跨机迁移或跨机重建等导致的binlog 文件ID乱序,可能导致增量迁移数据丢失

迁移权限要求当使用 DTS 进行本地 MySQL->RDS for MySQL迁移时,在不同迁移类型,对源端和目标端 MySQL 实例的迁移帐号权限要求如下:

迁移类型

结构迁移

全量迁移

增量迁移

本地 MySQL 实例

select

select

superselectreplication slavereplication client

目标端 RDS for MySQL 实例

读写权限

读写权限

读写权限

迁移流程DTS 在进行本地 MySQL->RDS for Mysql 数据迁移时,为了解决对象间的依赖关系,提高迁移成功率。结构对象及数据的迁移顺序如下:

结构对象:表、视图的迁移全量数据迁移结构对象:存储过程、函数、触发器、外键的迁移增量数据迁移

如果任务没有选择增量数据迁移,那么当全量数据迁移完成后,任务列表中的迁移进度为:结构迁移 100%,全量迁移 100%,迁移状态为“迁移中”。此时迁移任务正在进行步骤(3) 中的对象的迁移。此时,请勿手动结束任务,否则会造成迁移数据丢失。

迁移任务配置下面详细介绍使用 DTS 将本地 MySQL 实例中的数据迁移到阿里云 RDS for MySQL 实例的任务配置流程。

RDS for MySQL 实例数据库创建在数据迁移过程中,如果待迁移的数据库在目标 RDS 实例中不存在,那么 DTS 自动会创建。但是对于如下两种情况,用户需要在配置迁移任务之前,手动创建数据库。

数据库名称不符合 RDS 定义规范(由小写字母、数字、下划线、中划线组成,字母开头,字母或数字结尾,最长 64 个字符)。待迁移数据库,在源端本地 MySQL 和目标端 RDS for MySQL 实例中名称不同。

对于这两种情况,用户需要在配置迁移任务之前,先在 RDS 控制台完成数据库创建。具体参考 RDS使用手册 - 创建数据库”。

迁移帐号创建迁移任务配置,需要提供本地 MySQL 数据库及目标 RDS for MySQL 实例的迁移账号。迁移账号所需权限详见上文的 迁移权限要求 部分。

如果源端 MySQL 实例迁移账号尚未创建,那么您可以参考 Grant 语法说明,创建满足权限要求的迁移账号。

如果目标端 RDS for MySQL 实例迁移账号创建,那么您可以参考 RDS 账号创建流程,创建对待迁移数据库有读写权限的迁移账号。

其他准备工作如果需要进行增量迁移,那么需要确认源库的 binlog 是否开启,格式是否满足要求。具体确认项如下。

确认源库的 binlog 是否开启。

如果这里面查询出来的 log_bin=OFF,则说明源库没有开启 binlog,这个时候如果需要使用增量迁移的话,需要修改本地 MySQL 的 binlog 配置,打开 binlog 日志。

开启二进制日志,修改 log_bin=mysql_bin。设置 binlog 模式为 row,修改 binlog_format=row。配置 server_id 大于 1,即 server_id=某一个大于 1 的整数。如果版本为 5.6,修改 binlog_row_image=full。修改完成后,重启 MySQL 进程。

确认源库的 binlog 格式为 row 模式。

使用上面的命令确认本地 MySQL 的 binlog 格式是否为 ROW,如果查询出来的结果不为 ROW 的话,那么通过如下的参数设置命令将模式修改为 ROW。

当修改完成后,建议将源库上已有的连接 KILL 掉,并且重新连接,否则可能出现其他的连接依然使用 statement 格式记录 binlog 日志。

当本地 MySQL 版本大等于 5.6.2 时,确认源库的 binlog_row_image=full。

如果查询出来的结果不为 FULL 的话,那么通过如下的参数设置命令将其修改为 FULL。

迁移任务配置当数据库、迁移账号都创建完成后,就可以开始配置迁移任务了。下面详细介绍下具体的配置步骤。

进入 数据传输 DTS 控制台,点击右上角的 创建迁移任务,开始任务配置。本地 MySQL 实例及目标 RDS for MySQL 实例连接信息配置。

在这个步骤中,主要配置迁移任务名称,迁移源实例及目标实例连接信息。其中:

任务名称

默认情况下,DTS 为每个任务自动生成一个任务名称。任务名称没有唯一性要求,您可以修改这个名称,为任务配置一个具有业务意义的名称,便于后续的任务识别。

源实例连接信息

实例类型:选择 有公网 IP 的自建数据库数据库类型:选择 MySQL主机名或 IP 地址:配置本地 MySQL 数据库实例的访问地址,这个地址必须为公网访问方式端口:MySQL 实例监听端口账号:MySQL 实例访问账号密码:上面指定的 MySQL 访问账号对应的密码

目标 RDS for MySQL 实例连接信息。

实例类型:选择 RDS 实例RDS 实例 ID: 配置迁移的目标 RDS 实例的实例 ID。 DTS 支持经典网络、VPC 网络的 RDS for MySQL 实例数据库账号:RDS for MySQL 实例的连接账号数据库密码:上面指定的数据库账号对应的数据库密码

迁移对象及迁移类型配置。

迁移类型

DTS 支持 结构迁移、全量数据迁移、增量数据迁移。

如果需要进行不停机迁移,那么需要选择:结构迁移+全量数据迁移+增量数据迁移。

如果只进行全量迁移,那么需要选择:结构迁移+全量数据迁移。

迁移对象

迁移对象,需要选择您要迁移的对象。迁移对象选择的粒度可以为:库、表、列三个粒度。

默认情况下,对象迁移到 RDS for MySQL 实例后,对象名跟本地 MySQL 实例一致。如果您迁移的对象在源实例跟目标实例上名称不同,那么需要使用 DTS 提供的对象名映射功能,详细使用方式可以参考 库表列映射。

当配置完迁移对象及迁移类型后,即进入任务启动前的预检查步骤

预检查。

在迁移任务正式启动之前,会先进行前置预检查,只有预检查通过后,才能成功启动迁移。

如果预检查失败,那么可以点击具体检查项后的按钮,查看具体的失败详情,并根据失败原因修复后,重新进行预检查。

启动迁移任务。

当预检查通过后,我们可以启动迁移任务,任务启动后,可以到任务列表中查看任务具体的迁移状态及进度。

增量数据迁移是个动态同步的过程,所以建议在增量迁移达到无延迟状态时,在目标数据库上进行业务验证,如果验证成功,那么可以停掉迁移任务,然后将业务切换到目标数据库。

至此,完成将本地 MySQL 数据库实例到阿里云 RDS for MySQL 的数据迁移任务配置。

2019-12-01 23:09:42

0 浏览量

回答数 0

回答

详细解答可以参考官方帮助文档使用 数据传输服务 DTS 可以将本地 MySQL 实例的数据迁移到 RDS for MySQL 实例。数据传输服务 DTS (以下简称 DTS) 提供的增量数据同步功能,可以实现在本地应用不停服的情况下,平滑完成 MySQL 数据的迁移工作。

本小节简单介绍使用 DTS 进行本地 MySQL->RDS for MySQL 数据迁移的任务配置流程。

迁移步骤对于本地 MySQL->RDS for MySQL 的数据迁移,DTS 支持结构迁移、全量数据迁移及增量数据迁移,这个迁移类型的功能及限制如下:

结构迁移

数据传输会将迁移对象的结构定义迁移到目标实例。目前 DTS 支持结构迁移的对象有:表、视图、触发器、存储过程、存储函数。

全量数据迁移

全量迁移将本地 MySQL 实例的存量数据全部迁移到目标 RDS for MySQL 实例。

如果用户只进行全量数据迁移,那么迁移过程中本地 MySQL 实例新增的业务写入不会被同步到目标 RDS for MySQL 实例。

增量数据迁移

增量数据迁移会将全量数据迁移过程中,本地 MySQL 实例的增量变更数据同步到目标 RDS for MySQL 实例,增量数据迁移可以实现本地 MySQL 实例在迁移过程中产生的增量数据被实时同步到目标库,最终实现本地 MySQL 实例同目标 RDS for MySQL 实例进入动态数据同步的过程。

迁移限制

迁移过程中,不支持 DDL 操作结构迁移不支持 event 的迁移对于MySQL的浮点型float/double,DTS通过round(column,precision)来读取该列的值,若列类型没有明确定义其精度,对于float,精度为38位,double类型,精度为308,请先确认DTS的迁移精度是否符合业务预期如果使用了对象名映射功能后,依赖这个对象的其他对象可能迁移失败当选择增量迁移时,源端的本地 MySQL 实例需要按照要求开启 binlog当选择增量迁移时,源库的 binlog_format 要为 row当选择增量迁移且源 MySQL 如果为 5.6 及以上版本时,它的 binlog_row_image 必须为 full当选择增量迁移时,增量迁移过程中如果源MySQL实例出现因实例跨机迁移或跨机重建等导致的binlog 文件ID乱序,可能导致增量迁移数据丢失

迁移权限要求当使用 DTS 进行本地 MySQL->RDS for MySQL迁移时,在不同迁移类型,对源端和目标端 MySQL 实例的迁移帐号权限要求如下:

迁移类型

结构迁移

全量迁移

增量迁移

本地 MySQL 实例

select

select

superselectreplication slavereplication client

目标端 RDS for MySQL 实例

读写权限

读写权限

读写权限

迁移流程DTS 在进行本地 MySQL->RDS for Mysql 数据迁移时,为了解决对象间的依赖关系,提高迁移成功率。结构对象及数据的迁移顺序如下:

结构对象:表、视图的迁移全量数据迁移结构对象:存储过程、函数、触发器、外键的迁移增量数据迁移

如果任务没有选择增量数据迁移,那么当全量数据迁移完成后,任务列表中的迁移进度为:结构迁移 100%,全量迁移 100%,迁移状态为“迁移中”。此时迁移任务正在进行步骤(3) 中的对象的迁移。此时,请勿手动结束任务,否则会造成迁移数据丢失。

迁移任务配置下面详细介绍使用 DTS 将本地 MySQL 实例中的数据迁移到阿里云 RDS for MySQL 实例的任务配置流程。

RDS for MySQL 实例数据库创建在数据迁移过程中,如果待迁移的数据库在目标 RDS 实例中不存在,那么 DTS 自动会创建。但是对于如下两种情况,用户需要在配置迁移任务之前,手动创建数据库。

数据库名称不符合 RDS 定义规范(由小写字母、数字、下划线、中划线组成,字母开头,字母或数字结尾,最长 64 个字符)。待迁移数据库,在源端本地 MySQL 和目标端 RDS for MySQL 实例中名称不同。

对于这两种情况,用户需要在配置迁移任务之前,先在 RDS 控制台完成数据库创建。具体参考 RDS使用手册 - 创建数据库”。

迁移帐号创建迁移任务配置,需要提供本地 MySQL 数据库及目标 RDS for MySQL 实例的迁移账号。迁移账号所需权限详见上文的 迁移权限要求 部分。

如果源端 MySQL 实例迁移账号尚未创建,那么您可以参考 Grant 语法说明,创建满足权限要求的迁移账号。

如果目标端 RDS for MySQL 实例迁移账号创建,那么您可以参考 RDS 账号创建流程,创建对待迁移数据库有读写权限的迁移账号。

其他准备工作如果需要进行增量迁移,那么需要确认源库的 binlog 是否开启,格式是否满足要求。具体确认项如下。

确认源库的 binlog 是否开启。

如果这里面查询出来的 log_bin=OFF,则说明源库没有开启 binlog,这个时候如果需要使用增量迁移的话,需要修改本地 MySQL 的 binlog 配置,打开 binlog 日志。

开启二进制日志,修改 log_bin=mysql_bin。设置 binlog 模式为 row,修改 binlog_format=row。配置 server_id 大于 1,即 server_id=某一个大于 1 的整数。如果版本为 5.6,修改 binlog_row_image=full。修改完成后,重启 MySQL 进程。

确认源库的 binlog 格式为 row 模式。

使用上面的命令确认本地 MySQL 的 binlog 格式是否为 ROW,如果查询出来的结果不为 ROW 的话,那么通过如下的参数设置命令将模式修改为 ROW。

当修改完成后,建议将源库上已有的连接 KILL 掉,并且重新连接,否则可能出现其他的连接依然使用 statement 格式记录 binlog 日志。

当本地 MySQL 版本大等于 5.6.2 时,确认源库的 binlog_row_image=full。

如果查询出来的结果不为 FULL 的话,那么通过如下的参数设置命令将其修改为 FULL。

迁移任务配置当数据库、迁移账号都创建完成后,就可以开始配置迁移任务了。下面详细介绍下具体的配置步骤。

进入 数据传输 DTS 控制台,点击右上角的 创建迁移任务,开始任务配置。本地 MySQL 实例及目标 RDS for MySQL 实例连接信息配置。

在这个步骤中,主要配置迁移任务名称,迁移源实例及目标实例连接信息。其中:

任务名称

默认情况下,DTS 为每个任务自动生成一个任务名称。任务名称没有唯一性要求,您可以修改这个名称,为任务配置一个具有业务意义的名称,便于后续的任务识别。

源实例连接信息

实例类型:选择 有公网 IP 的自建数据库数据库类型:选择 MySQL主机名或 IP 地址:配置本地 MySQL 数据库实例的访问地址,这个地址必须为公网访问方式端口:MySQL 实例监听端口账号:MySQL 实例访问账号密码:上面指定的 MySQL 访问账号对应的密码

目标 RDS for MySQL 实例连接信息。

实例类型:选择 RDS 实例RDS 实例 ID: 配置迁移的目标 RDS 实例的实例 ID。 DTS 支持经典网络、VPC 网络的 RDS for MySQL 实例数据库账号:RDS for MySQL 实例的连接账号数据库密码:上面指定的数据库账号对应的数据库密码

迁移对象及迁移类型配置。

迁移类型

DTS 支持 结构迁移、全量数据迁移、增量数据迁移。

如果需要进行不停机迁移,那么需要选择:结构迁移+全量数据迁移+增量数据迁移。

如果只进行全量迁移,那么需要选择:结构迁移+全量数据迁移。

迁移对象

迁移对象,需要选择您要迁移的对象。迁移对象选择的粒度可以为:库、表、列三个粒度。

默认情况下,对象迁移到 RDS for MySQL 实例后,对象名跟本地 MySQL 实例一致。如果您迁移的对象在源实例跟目标实例上名称不同,那么需要使用 DTS 提供的对象名映射功能,详细使用方式可以参考 库表列映射。

当配置完迁移对象及迁移类型后,即进入任务启动前的预检查步骤

预检查。

在迁移任务正式启动之前,会先进行前置预检查,只有预检查通过后,才能成功启动迁移。

如果预检查失败,那么可以点击具体检查项后的按钮,查看具体的失败详情,并根据失败原因修复后,重新进行预检查。

启动迁移任务。

当预检查通过后,我们可以启动迁移任务,任务启动后,可以到任务列表中查看任务具体的迁移状态及进度。

增量数据迁移是个动态同步的过程,所以建议在增量迁移达到无延迟状态时,在目标数据库上进行业务验证,如果验证成功,那么可以停掉迁移任务,然后将业务切换到目标数据库。

至此,完成将本地 MySQL 数据库实例到阿里云 RDS for MySQL 的数据迁移任务配置。

2019-12-01 23:09:41

0 浏览量

回答数 0

回答

详细解答可以参考官方帮助文档使用 数据传输服务 DTS 可以将本地 MySQL 实例的数据迁移到 RDS for MySQL 实例。数据传输服务 DTS (以下简称 DTS) 提供的增量数据同步功能,可以实现在本地应用不停服的情况下,平滑完成 MySQL 数据的迁移工作。

本小节简单介绍使用 DTS 进行本地 MySQL->RDS for MySQL 数据迁移的任务配置流程。

迁移步骤对于本地 MySQL->RDS for MySQL 的数据迁移,DTS 支持结构迁移、全量数据迁移及增量数据迁移,这个迁移类型的功能及限制如下:

结构迁移

数据传输会将迁移对象的结构定义迁移到目标实例。目前 DTS 支持结构迁移的对象有:表、视图、触发器、存储过程、存储函数。

全量数据迁移

全量迁移将本地 MySQL 实例的存量数据全部迁移到目标 RDS for MySQL 实例。

如果用户只进行全量数据迁移,那么迁移过程中本地 MySQL 实例新增的业务写入不会被同步到目标 RDS for MySQL 实例。

增量数据迁移

增量数据迁移会将全量数据迁移过程中,本地 MySQL 实例的增量变更数据同步到目标 RDS for MySQL 实例,增量数据迁移可以实现本地 MySQL 实例在迁移过程中产生的增量数据被实时同步到目标库,最终实现本地 MySQL 实例同目标 RDS for MySQL 实例进入动态数据同步的过程。

迁移限制

迁移过程中,不支持 DDL 操作结构迁移不支持 event 的迁移对于MySQL的浮点型float/double,DTS通过round(column,precision)来读取该列的值,若列类型没有明确定义其精度,对于float,精度为38位,double类型,精度为308,请先确认DTS的迁移精度是否符合业务预期如果使用了对象名映射功能后,依赖这个对象的其他对象可能迁移失败当选择增量迁移时,源端的本地 MySQL 实例需要按照要求开启 binlog当选择增量迁移时,源库的 binlog_format 要为 row当选择增量迁移且源 MySQL 如果为 5.6 及以上版本时,它的 binlog_row_image 必须为 full当选择增量迁移时,增量迁移过程中如果源MySQL实例出现因实例跨机迁移或跨机重建等导致的binlog 文件ID乱序,可能导致增量迁移数据丢失

迁移权限要求当使用 DTS 进行本地 MySQL->RDS for MySQL迁移时,在不同迁移类型,对源端和目标端 MySQL 实例的迁移帐号权限要求如下:

迁移类型

结构迁移

全量迁移

增量迁移

本地 MySQL 实例

select

select

superselectreplication slavereplication client

目标端 RDS for MySQL 实例

读写权限

读写权限

读写权限

迁移流程DTS 在进行本地 MySQL->RDS for Mysql 数据迁移时,为了解决对象间的依赖关系,提高迁移成功率。结构对象及数据的迁移顺序如下:

结构对象:表、视图的迁移全量数据迁移结构对象:存储过程、函数、触发器、外键的迁移增量数据迁移

如果任务没有选择增量数据迁移,那么当全量数据迁移完成后,任务列表中的迁移进度为:结构迁移 100%,全量迁移 100%,迁移状态为“迁移中”。此时迁移任务正在进行步骤(3) 中的对象的迁移。此时,请勿手动结束任务,否则会造成迁移数据丢失。

迁移任务配置下面详细介绍使用 DTS 将本地 MySQL 实例中的数据迁移到阿里云 RDS for MySQL 实例的任务配置流程。

RDS for MySQL 实例数据库创建在数据迁移过程中,如果待迁移的数据库在目标 RDS 实例中不存在,那么 DTS 自动会创建。但是对于如下两种情况,用户需要在配置迁移任务之前,手动创建数据库。

数据库名称不符合 RDS 定义规范(由小写字母、数字、下划线、中划线组成,字母开头,字母或数字结尾,最长 64 个字符)。待迁移数据库,在源端本地 MySQL 和目标端 RDS for MySQL 实例中名称不同。

对于这两种情况,用户需要在配置迁移任务之前,先在 RDS 控制台完成数据库创建。具体参考 RDS使用手册 - 创建数据库”。

迁移帐号创建迁移任务配置,需要提供本地 MySQL 数据库及目标 RDS for MySQL 实例的迁移账号。迁移账号所需权限详见上文的 迁移权限要求 部分。

如果源端 MySQL 实例迁移账号尚未创建,那么您可以参考 Grant 语法说明,创建满足权限要求的迁移账号。

如果目标端 RDS for MySQL 实例迁移账号创建,那么您可以参考 RDS 账号创建流程,创建对待迁移数据库有读写权限的迁移账号。

其他准备工作如果需要进行增量迁移,那么需要确认源库的 binlog 是否开启,格式是否满足要求。具体确认项如下。

确认源库的 binlog 是否开启。

如果这里面查询出来的 log_bin=OFF,则说明源库没有开启 binlog,这个时候如果需要使用增量迁移的话,需要修改本地 MySQL 的 binlog 配置,打开 binlog 日志。

开启二进制日志,修改 log_bin=mysql_bin。设置 binlog 模式为 row,修改 binlog_format=row。配置 server_id 大于 1,即 server_id=某一个大于 1 的整数。如果版本为 5.6,修改 binlog_row_image=full。修改完成后,重启 MySQL 进程。

确认源库的 binlog 格式为 row 模式。

使用上面的命令确认本地 MySQL 的 binlog 格式是否为 ROW,如果查询出来的结果不为 ROW 的话,那么通过如下的参数设置命令将模式修改为 ROW。

当修改完成后,建议将源库上已有的连接 KILL 掉,并且重新连接,否则可能出现其他的连接依然使用 statement 格式记录 binlog 日志。

当本地 MySQL 版本大等于 5.6.2 时,确认源库的 binlog_row_image=full。

如果查询出来的结果不为 FULL 的话,那么通过如下的参数设置命令将其修改为 FULL。

迁移任务配置当数据库、迁移账号都创建完成后,就可以开始配置迁移任务了。下面详细介绍下具体的配置步骤。

进入 数据传输 DTS 控制台,点击右上角的 创建迁移任务,开始任务配置。本地 MySQL 实例及目标 RDS for MySQL 实例连接信息配置。

在这个步骤中,主要配置迁移任务名称,迁移源实例及目标实例连接信息。其中:

任务名称

默认情况下,DTS 为每个任务自动生成一个任务名称。任务名称没有唯一性要求,您可以修改这个名称,为任务配置一个具有业务意义的名称,便于后续的任务识别。

源实例连接信息

实例类型:选择 有公网 IP 的自建数据库数据库类型:选择 MySQL主机名或 IP 地址:配置本地 MySQL 数据库实例的访问地址,这个地址必须为公网访问方式端口:MySQL 实例监听端口账号:MySQL 实例访问账号密码:上面指定的 MySQL 访问账号对应的密码

目标 RDS for MySQL 实例连接信息。

实例类型:选择 RDS 实例RDS 实例 ID: 配置迁移的目标 RDS 实例的实例 ID。 DTS 支持经典网络、VPC 网络的 RDS for MySQL 实例数据库账号:RDS for MySQL 实例的连接账号数据库密码:上面指定的数据库账号对应的数据库密码

迁移对象及迁移类型配置。

迁移类型

DTS 支持 结构迁移、全量数据迁移、增量数据迁移。

如果需要进行不停机迁移,那么需要选择:结构迁移+全量数据迁移+增量数据迁移。

如果只进行全量迁移,那么需要选择:结构迁移+全量数据迁移。

迁移对象

迁移对象,需要选择您要迁移的对象。迁移对象选择的粒度可以为:库、表、列三个粒度。

默认情况下,对象迁移到 RDS for MySQL 实例后,对象名跟本地 MySQL 实例一致。如果您迁移的对象在源实例跟目标实例上名称不同,那么需要使用 DTS 提供的对象名映射功能,详细使用方式可以参考 库表列映射。

当配置完迁移对象及迁移类型后,即进入任务启动前的预检查步骤

预检查。

在迁移任务正式启动之前,会先进行前置预检查,只有预检查通过后,才能成功启动迁移。

如果预检查失败,那么可以点击具体检查项后的按钮,查看具体的失败详情,并根据失败原因修复后,重新进行预检查。

启动迁移任务。

当预检查通过后,我们可以启动迁移任务,任务启动后,可以到任务列表中查看任务具体的迁移状态及进度。

增量数据迁移是个动态同步的过程,所以建议在增量迁移达到无延迟状态时,在目标数据库上进行业务验证,如果验证成功,那么可以停掉迁移任务,然后将业务切换到目标数据库。

至此,完成将本地 MySQL 数据库实例到阿里云 RDS for MySQL 的数据迁移任务配置。

2019-12-01 23:09:42

0 浏览量

回答数 0

回答

详细解答可以参考官方帮助文档使用 数据传输服务 DTS 可以将本地 MySQL 实例的数据迁移到 RDS for MySQL 实例。数据传输服务 DTS (以下简称 DTS) 提供的增量数据同步功能,可以实现在本地应用不停服的情况下,平滑完成 MySQL 数据的迁移工作。

本小节简单介绍使用 DTS 进行本地 MySQL->RDS for MySQL 数据迁移的任务配置流程。

迁移步骤对于本地 MySQL->RDS for MySQL 的数据迁移,DTS 支持结构迁移、全量数据迁移及增量数据迁移,这个迁移类型的功能及限制如下:

结构迁移

数据传输会将迁移对象的结构定义迁移到目标实例。目前 DTS 支持结构迁移的对象有:表、视图、触发器、存储过程、存储函数。

全量数据迁移

全量迁移将本地 MySQL 实例的存量数据全部迁移到目标 RDS for MySQL 实例。

如果用户只进行全量数据迁移,那么迁移过程中本地 MySQL 实例新增的业务写入不会被同步到目标 RDS for MySQL 实例。

增量数据迁移

增量数据迁移会将全量数据迁移过程中,本地 MySQL 实例的增量变更数据同步到目标 RDS for MySQL 实例,增量数据迁移可以实现本地 MySQL 实例在迁移过程中产生的增量数据被实时同步到目标库,最终实现本地 MySQL 实例同目标 RDS for MySQL 实例进入动态数据同步的过程。

迁移限制

迁移过程中,不支持 DDL 操作结构迁移不支持 event 的迁移对于MySQL的浮点型float/double,DTS通过round(column,precision)来读取该列的值,若列类型没有明确定义其精度,对于float,精度为38位,double类型,精度为308,请先确认DTS的迁移精度是否符合业务预期如果使用了对象名映射功能后,依赖这个对象的其他对象可能迁移失败当选择增量迁移时,源端的本地 MySQL 实例需要按照要求开启 binlog当选择增量迁移时,源库的 binlog_format 要为 row当选择增量迁移且源 MySQL 如果为 5.6 及以上版本时,它的 binlog_row_image 必须为 full当选择增量迁移时,增量迁移过程中如果源MySQL实例出现因实例跨机迁移或跨机重建等导致的binlog 文件ID乱序,可能导致增量迁移数据丢失

迁移权限要求当使用 DTS 进行本地 MySQL->RDS for MySQL迁移时,在不同迁移类型,对源端和目标端 MySQL 实例的迁移帐号权限要求如下:

迁移类型

结构迁移

全量迁移

增量迁移

本地 MySQL 实例

select

select

superselectreplication slavereplication client

目标端 RDS for MySQL 实例

读写权限

读写权限

读写权限

迁移流程DTS 在进行本地 MySQL->RDS for Mysql 数据迁移时,为了解决对象间的依赖关系,提高迁移成功率。结构对象及数据的迁移顺序如下:

结构对象:表、视图的迁移全量数据迁移结构对象:存储过程、函数、触发器、外键的迁移增量数据迁移

如果任务没有选择增量数据迁移,那么当全量数据迁移完成后,任务列表中的迁移进度为:结构迁移 100%,全量迁移 100%,迁移状态为“迁移中”。此时迁移任务正在进行步骤(3) 中的对象的迁移。此时,请勿手动结束任务,否则会造成迁移数据丢失。

迁移任务配置下面详细介绍使用 DTS 将本地 MySQL 实例中的数据迁移到阿里云 RDS for MySQL 实例的任务配置流程。

RDS for MySQL 实例数据库创建在数据迁移过程中,如果待迁移的数据库在目标 RDS 实例中不存在,那么 DTS 自动会创建。但是对于如下两种情况,用户需要在配置迁移任务之前,手动创建数据库。

数据库名称不符合 RDS 定义规范(由小写字母、数字、下划线、中划线组成,字母开头,字母或数字结尾,最长 64 个字符)。待迁移数据库,在源端本地 MySQL 和目标端 RDS for MySQL 实例中名称不同。

对于这两种情况,用户需要在配置迁移任务之前,先在 RDS 控制台完成数据库创建。具体参考 RDS使用手册 - 创建数据库”。

迁移帐号创建迁移任务配置,需要提供本地 MySQL 数据库及目标 RDS for MySQL 实例的迁移账号。迁移账号所需权限详见上文的 迁移权限要求 部分。

如果源端 MySQL 实例迁移账号尚未创建,那么您可以参考 Grant 语法说明,创建满足权限要求的迁移账号。

如果目标端 RDS for MySQL 实例迁移账号创建,那么您可以参考 RDS 账号创建流程,创建对待迁移数据库有读写权限的迁移账号。

其他准备工作如果需要进行增量迁移,那么需要确认源库的 binlog 是否开启,格式是否满足要求。具体确认项如下。

确认源库的 binlog 是否开启。

如果这里面查询出来的 log_bin=OFF,则说明源库没有开启 binlog,这个时候如果需要使用增量迁移的话,需要修改本地 MySQL 的 binlog 配置,打开 binlog 日志。

开启二进制日志,修改 log_bin=mysql_bin。设置 binlog 模式为 row,修改 binlog_format=row。配置 server_id 大于 1,即 server_id=某一个大于 1 的整数。如果版本为 5.6,修改 binlog_row_image=full。修改完成后,重启 MySQL 进程。

确认源库的 binlog 格式为 row 模式。

使用上面的命令确认本地 MySQL 的 binlog 格式是否为 ROW,如果查询出来的结果不为 ROW 的话,那么通过如下的参数设置命令将模式修改为 ROW。

当修改完成后,建议将源库上已有的连接 KILL 掉,并且重新连接,否则可能出现其他的连接依然使用 statement 格式记录 binlog 日志。

当本地 MySQL 版本大等于 5.6.2 时,确认源库的 binlog_row_image=full。

如果查询出来的结果不为 FULL 的话,那么通过如下的参数设置命令将其修改为 FULL。

迁移任务配置当数据库、迁移账号都创建完成后,就可以开始配置迁移任务了。下面详细介绍下具体的配置步骤。

进入 数据传输 DTS 控制台,点击右上角的 创建迁移任务,开始任务配置。本地 MySQL 实例及目标 RDS for MySQL 实例连接信息配置。

在这个步骤中,主要配置迁移任务名称,迁移源实例及目标实例连接信息。其中:

任务名称

默认情况下,DTS 为每个任务自动生成一个任务名称。任务名称没有唯一性要求,您可以修改这个名称,为任务配置一个具有业务意义的名称,便于后续的任务识别。

源实例连接信息

实例类型:选择 有公网 IP 的自建数据库数据库类型:选择 MySQL主机名或 IP 地址:配置本地 MySQL 数据库实例的访问地址,这个地址必须为公网访问方式端口:MySQL 实例监听端口账号:MySQL 实例访问账号密码:上面指定的 MySQL 访问账号对应的密码

目标 RDS for MySQL 实例连接信息。

实例类型:选择 RDS 实例RDS 实例 ID: 配置迁移的目标 RDS 实例的实例 ID。 DTS 支持经典网络、VPC 网络的 RDS for MySQL 实例数据库账号:RDS for MySQL 实例的连接账号数据库密码:上面指定的数据库账号对应的数据库密码

迁移对象及迁移类型配置。

迁移类型

DTS 支持 结构迁移、全量数据迁移、增量数据迁移。

如果需要进行不停机迁移,那么需要选择:结构迁移+全量数据迁移+增量数据迁移。

如果只进行全量迁移,那么需要选择:结构迁移+全量数据迁移。

迁移对象

迁移对象,需要选择您要迁移的对象。迁移对象选择的粒度可以为:库、表、列三个粒度。

默认情况下,对象迁移到 RDS for MySQL 实例后,对象名跟本地 MySQL 实例一致。如果您迁移的对象在源实例跟目标实例上名称不同,那么需要使用 DTS 提供的对象名映射功能,详细使用方式可以参考 库表列映射。

当配置完迁移对象及迁移类型后,即进入任务启动前的预检查步骤

预检查。

在迁移任务正式启动之前,会先进行前置预检查,只有预检查通过后,才能成功启动迁移。

如果预检查失败,那么可以点击具体检查项后的按钮,查看具体的失败详情,并根据失败原因修复后,重新进行预检查。

启动迁移任务。

当预检查通过后,我们可以启动迁移任务,任务启动后,可以到任务列表中查看任务具体的迁移状态及进度。

增量数据迁移是个动态同步的过程,所以建议在增量迁移达到无延迟状态时,在目标数据库上进行业务验证,如果验证成功,那么可以停掉迁移任务,然后将业务切换到目标数据库。

至此,完成将本地 MySQL 数据库实例到阿里云 RDS for MySQL 的数据迁移任务配置。

2019-12-01 23:09:42

0 浏览量

回答数 0

回答

详细解答可以参考官方帮助文档使用 数据传输服务 DTS 可以将本地 MySQL 实例的数据迁移到 RDS for MySQL 实例。数据传输服务 DTS (以下简称 DTS) 提供的增量数据同步功能,可以实现在本地应用不停服的情况下,平滑完成 MySQL 数据的迁移工作。

本小节简单介绍使用 DTS 进行本地 MySQL->RDS for MySQL 数据迁移的任务配置流程。

迁移步骤对于本地 MySQL->RDS for MySQL 的数据迁移,DTS 支持结构迁移、全量数据迁移及增量数据迁移,这个迁移类型的功能及限制如下:

结构迁移

数据传输会将迁移对象的结构定义迁移到目标实例。目前 DTS 支持结构迁移的对象有:表、视图、触发器、存储过程、存储函数。

全量数据迁移

全量迁移将本地 MySQL 实例的存量数据全部迁移到目标 RDS for MySQL 实例。

如果用户只进行全量数据迁移,那么迁移过程中本地 MySQL 实例新增的业务写入不会被同步到目标 RDS for MySQL 实例。

增量数据迁移

增量数据迁移会将全量数据迁移过程中,本地 MySQL 实例的增量变更数据同步到目标 RDS for MySQL 实例,增量数据迁移可以实现本地 MySQL 实例在迁移过程中产生的增量数据被实时同步到目标库,最终实现本地 MySQL 实例同目标 RDS for MySQL 实例进入动态数据同步的过程。

迁移限制

迁移过程中,不支持 DDL 操作结构迁移不支持 event 的迁移对于MySQL的浮点型float/double,DTS通过round(column,precision)来读取该列的值,若列类型没有明确定义其精度,对于float,精度为38位,double类型,精度为308,请先确认DTS的迁移精度是否符合业务预期如果使用了对象名映射功能后,依赖这个对象的其他对象可能迁移失败当选择增量迁移时,源端的本地 MySQL 实例需要按照要求开启 binlog当选择增量迁移时,源库的 binlog_format 要为 row当选择增量迁移且源 MySQL 如果为 5.6 及以上版本时,它的 binlog_row_image 必须为 full当选择增量迁移时,增量迁移过程中如果源MySQL实例出现因实例跨机迁移或跨机重建等导致的binlog 文件ID乱序,可能导致增量迁移数据丢失

迁移权限要求当使用 DTS 进行本地 MySQL->RDS for MySQL迁移时,在不同迁移类型,对源端和目标端 MySQL 实例的迁移帐号权限要求如下:

迁移类型

结构迁移

全量迁移

增量迁移

本地 MySQL 实例

select

select

superselectreplication slavereplication client

目标端 RDS for MySQL 实例

读写权限

读写权限

读写权限

迁移流程DTS 在进行本地 MySQL->RDS for Mysql 数据迁移时,为了解决对象间的依赖关系,提高迁移成功率。结构对象及数据的迁移顺序如下:

结构对象:表、视图的迁移全量数据迁移结构对象:存储过程、函数、触发器、外键的迁移增量数据迁移

如果任务没有选择增量数据迁移,那么当全量数据迁移完成后,任务列表中的迁移进度为:结构迁移 100%,全量迁移 100%,迁移状态为“迁移中”。此时迁移任务正在进行步骤(3) 中的对象的迁移。此时,请勿手动结束任务,否则会造成迁移数据丢失。

迁移任务配置下面详细介绍使用 DTS 将本地 MySQL 实例中的数据迁移到阿里云 RDS for MySQL 实例的任务配置流程。

RDS for MySQL 实例数据库创建在数据迁移过程中,如果待迁移的数据库在目标 RDS 实例中不存在,那么 DTS 自动会创建。但是对于如下两种情况,用户需要在配置迁移任务之前,手动创建数据库。

数据库名称不符合 RDS 定义规范(由小写字母、数字、下划线、中划线组成,字母开头,字母或数字结尾,最长 64 个字符)。待迁移数据库,在源端本地 MySQL 和目标端 RDS for MySQL 实例中名称不同。

对于这两种情况,用户需要在配置迁移任务之前,先在 RDS 控制台完成数据库创建。具体参考 RDS使用手册 - 创建数据库”。

迁移帐号创建迁移任务配置,需要提供本地 MySQL 数据库及目标 RDS for MySQL 实例的迁移账号。迁移账号所需权限详见上文的 迁移权限要求 部分。

如果源端 MySQL 实例迁移账号尚未创建,那么您可以参考 Grant 语法说明,创建满足权限要求的迁移账号。

如果目标端 RDS for MySQL 实例迁移账号创建,那么您可以参考 RDS 账号创建流程,创建对待迁移数据库有读写权限的迁移账号。

其他准备工作如果需要进行增量迁移,那么需要确认源库的 binlog 是否开启,格式是否满足要求。具体确认项如下。

确认源库的 binlog 是否开启。

如果这里面查询出来的 log_bin=OFF,则说明源库没有开启 binlog,这个时候如果需要使用增量迁移的话,需要修改本地 MySQL 的 binlog 配置,打开 binlog 日志。

开启二进制日志,修改 log_bin=mysql_bin。设置 binlog 模式为 row,修改 binlog_format=row。配置 server_id 大于 1,即 server_id=某一个大于 1 的整数。如果版本为 5.6,修改 binlog_row_image=full。修改完成后,重启 MySQL 进程。

确认源库的 binlog 格式为 row 模式。

使用上面的命令确认本地 MySQL 的 binlog 格式是否为 ROW,如果查询出来的结果不为 ROW 的话,那么通过如下的参数设置命令将模式修改为 ROW。

当修改完成后,建议将源库上已有的连接 KILL 掉,并且重新连接,否则可能出现其他的连接依然使用 statement 格式记录 binlog 日志。

当本地 MySQL 版本大等于 5.6.2 时,确认源库的 binlog_row_image=full。

如果查询出来的结果不为 FULL 的话,那么通过如下的参数设置命令将其修改为 FULL。

迁移任务配置当数据库、迁移账号都创建完成后,就可以开始配置迁移任务了。下面详细介绍下具体的配置步骤。

进入 数据传输 DTS 控制台,点击右上角的 创建迁移任务,开始任务配置。本地 MySQL 实例及目标 RDS for MySQL 实例连接信息配置。

在这个步骤中,主要配置迁移任务名称,迁移源实例及目标实例连接信息。其中:

任务名称

默认情况下,DTS 为每个任务自动生成一个任务名称。任务名称没有唯一性要求,您可以修改这个名称,为任务配置一个具有业务意义的名称,便于后续的任务识别。

源实例连接信息

实例类型:选择 有公网 IP 的自建数据库数据库类型:选择 MySQL主机名或 IP 地址:配置本地 MySQL 数据库实例的访问地址,这个地址必须为公网访问方式端口:MySQL 实例监听端口账号:MySQL 实例访问账号密码:上面指定的 MySQL 访问账号对应的密码

目标 RDS for MySQL 实例连接信息。

实例类型:选择 RDS 实例RDS 实例 ID: 配置迁移的目标 RDS 实例的实例 ID。 DTS 支持经典网络、VPC 网络的 RDS for MySQL 实例数据库账号:RDS for MySQL 实例的连接账号数据库密码:上面指定的数据库账号对应的数据库密码

迁移对象及迁移类型配置。

迁移类型

DTS 支持 结构迁移、全量数据迁移、增量数据迁移。

如果需要进行不停机迁移,那么需要选择:结构迁移+全量数据迁移+增量数据迁移。

如果只进行全量迁移,那么需要选择:结构迁移+全量数据迁移。

迁移对象

迁移对象,需要选择您要迁移的对象。迁移对象选择的粒度可以为:库、表、列三个粒度。

默认情况下,对象迁移到 RDS for MySQL 实例后,对象名跟本地 MySQL 实例一致。如果您迁移的对象在源实例跟目标实例上名称不同,那么需要使用 DTS 提供的对象名映射功能,详细使用方式可以参考 库表列映射。

当配置完迁移对象及迁移类型后,即进入任务启动前的预检查步骤

预检查。

在迁移任务正式启动之前,会先进行前置预检查,只有预检查通过后,才能成功启动迁移。

如果预检查失败,那么可以点击具体检查项后的按钮,查看具体的失败详情,并根据失败原因修复后,重新进行预检查。

启动迁移任务。

当预检查通过后,我们可以启动迁移任务,任务启动后,可以到任务列表中查看任务具体的迁移状态及进度。

增量数据迁移是个动态同步的过程,所以建议在增量迁移达到无延迟状态时,在目标数据库上进行业务验证,如果验证成功,那么可以停掉迁移任务,然后将业务切换到目标数据库。

至此,完成将本地 MySQL 数据库实例到阿里云 RDS for MySQL 的数据迁移任务配置。

2019-12-01 23:09:41

0 浏览量

回答数 0

问题

使用限制

为保障实例的稳定及安全,RDS for MySQL有部分使用上的约束,详情如下:

操作使用约束修改数据库参数设置大部分数据库参数须使用或OPEN API进行修改,同时出于安全和稳定性考...

云栖大讲堂

2019-12-01 21:37:11

1021 浏览量

回答数 0

问题

整个系统数据回滚到上一个版本

1, 在命令行执行reboot后,查看mysql数据库,发现之前的建的数据表都丢失。

2,同时,查看redis数据,之前的数据也丢失了,反而之前删除的几条测试数据&...

tuyouqcom

2019-12-01 18:55:58

321 浏览量

回答数 0

问题

我的Mysql数据库出问题,出了一些很诡异的事

实列ID:

i-j6cgovnqial66948mssh

IP地址:47.75.160.215

今天(1月10日)下午 16:11 分,发现我们服务器(香...

大熊1234

2019-12-01 19:17:06

132 浏览量

回答数 1

问题

RDS mysql5.6 数据库 莫名奇妙丢失一张表

今天发现生产数据库莫名奇妙一张表不见了,SQL审计也没有查询到有drop 或者 rename 这个表的操作。 现在要恢复这个表数据,提交工单2个小时了都还没人处理。阿里云的服务就这样?!...

vincentl

2019-12-01 21:47:54

2426 浏览量

回答数 1

问题

如何将数据从SQL Server 2005导出到MySQL ?mysql

我一直在SQL Server 2005努力尝试避免获取大量数据。我已经获得了一个包含近300个表的数据库,我需要将其转换为MySQL数据库。我的第一个电话是使用bcp,但不幸的是,它不会产生有效的C...

保持可爱mmm

2020-05-17 21:11:37

2 浏览量

回答数 1

问题

mysql MyISAM类型表 .frm和.MYI文件丢失该如何修复?

因为硬盘损坏,数据库文件勉强拷出了一部分,但很多表的.frm和.MYI文件都丢了全是0字节,只剩下 .MYD 文件有数据,请问这种情况该如何修复啊? 试过重新建表然后覆盖.MYD,但修复之后 数据就全部被清空了... 求大神帮帮忙。...

落地花开啦

2019-12-01 19:51:52

1153 浏览量

回答数 1

回答

您好!只有通过更换操作系统才能更换数据库.24小时操作一次.另外更换后,原来的数据会丢失,所以更换前请先备份.

-------------------------

您好!x3主机,windows对应mssql linux对应mysql。应该不会。那您再确认一下。

-------------------------

回 5楼(suoxd) 的帖子

是的。要用Mysql只能将系统更换为linux

-------------------------

回 7楼(suoxd) 的帖子

您好!只有FTP和数据库管理权限。数据库也能只能通过工具上传您的表。

-------------------------

您好!网站代码是通过FTP上传到linux的FTP根目录htdcos数据库的,建议您使用mysql远程连接工具。比如:Navicat for MySQL。

-------------------------

回 12楼(suoxd) 的帖子

您好!您的数据库密码有没有修改过。您可以先登录主机控制面板,在里面有一个数据库管理,测试一下能否访问,如果可以,说明数据库没有问题。如果不行,麻烦您以工单方式反馈给工程师进一步查看。

阿里云支持与服务

2019-12-01 23:47:55

0 浏览量

回答数 0

问题

如何将数据从SQL Server 2005导出到MySQL [关闭]

我一直在SQL Server 2005努力尝试避免获取大量数据。我已经获得了一个包含近300个表的数据库,我需要将其转换为MySQL数据库。我的第一个电话是使用bcp,但不幸的是,它不会产生有效的C...

心有灵_夕

2019-12-24 22:20:02

5 浏览量

回答数 1

问题

如何将数据从SQL Server 2005导出到MySQL [关闭]

我一直在SQL Server 2005努力尝试避免获取大量数据。我已经获得了一个包含近300个表的数据库,我需要将其转换为MySQL数据库。我的第一个电话是使用bcp,但不幸的是,它不会产生有效的C...

几许相思几点泪

2019-12-26 20:13:05

1 浏览量

回答数 1

问题

如何将数据从SQL Server 2005导出到MySQL [关闭]

我一直在SQL Server 2005努力尝试避免获取大量数据。我已经获得了一个包含近300个表的数据库,我需要将其转换为MySQL数据库。我的第一个电话是使用bcp,但不幸的是,它不会产生有效的C...

保持可爱mmm

2019-12-01 21:57:53

17 浏览量

回答数 1

问题

E-MapReduce表管理是什么?

介绍

从EMR-2.4.0版本开始,EMR支持了统一元数据管理,在EMR-2.4.0版本之前,用户所有集群均采用的是集群本地的mysql数据库作为hive元数据库,在EMR-2.4...

nicenelly

2019-12-01 21:17:33

1230 浏览量

回答数 0

问题

E-MapReduce表管理是什么?

介绍

从EMR-2.4.0版本开始,EMR支持了统一元数据管理,在EMR-2.4.0版本之前,用户所有集群均采用的是集群本地的mysql数据库作为hive元数据库,在EMR-2.4...

nicenelly

2019-12-01 21:22:15

916 浏览量

回答数 0

问题

对比ECS自建数据库与RDS性能时的注意事项

适用场景

测试ECS自建数据库库与云数据库RDS的性能差异。

背景信息

很多用户都会对比ECS自建数据库与云数据库RDS的性能,但在测试两种数据库的性能时,不仅需要保证二者处于相同的环境下࿰...

云栖大讲堂

2019-12-01 21:42:55

1114 浏览量

回答数 0

问题

为什么 RDS for MySQL 不支持 MyISAM 引擎?

RDS for MySQL 不支持 MyISAM 引擎的主要原因有如下几个:

MyISAM 对数据完整性的保护存在缺陷,且这些缺陷会导致数据库数据的损坏甚至丢失。另外,这些缺陷很多是设计问题...

云栖大讲堂

2019-12-01 21:32:24

1291 浏览量

回答数 0

问题

一个关于mysql乱码的问题

在win命令行中操作mysql,命令行是gbk编码mysql数据库的默认编码是Latin1如果我在客户端set names utf8; 创建的表为gbk,存储中文肯定就出现乱码了(给一个占仨字节的,gbk表存储不了)而我将表创建为utf8,...

蛮大人123

2019-12-01 19:50:10

1286 浏览量

回答数 1

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页

打赏作者

于日

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值