数据迁移和数据导入是两个不同的概念:数据迁移指的是数据从数据库到数据库,数据导入指的是数据从数据文件(txt、csv等)到数据库。严格来讲实际上数据迁移包含了数据导入。
1数据导入
1.1CSV文件导入
这里以常见的CSV文件作为数据载体进行导入,注意必须以逗号为分隔符,并且第一行必须为列名:
这里的“时间”由于格式问题没有正常显示,其值是有效的:
1.2建表
CSV需要导入到云数据库的表中,因此在进行数据导入前要先创建表。
选中数据库,单击【这里】可以创建表,在这里只需要填入标着星号的【表名】即可:
然后切换到【列信息】,添加与导入的CSV文件中相同的列名和类型:
列名填错将导致数据导入失败。
填完之后保存变更,重新返回基本信息,可以看到,未填入的基本信息被自动补完:
可在此处进行表的修改、删除等:
1.3数据导入
打开新版的数据管理DMS,点击菜单栏的【数据导入】:
由于是管理员账户,所以数据变更工单申请中需要填的项很少:
在申请的数据变更类别中,有普通数据变更、无锁数据变更、历史数据清理、批量数据导入和可编程对象五大类,实际上其它四类并不属于【数据导入】范畴,而是属于【数据变更】范畴:
选定数据导入操作的目标数据库后,在【变更SQL】中选择CSV格式,上传文件并填写目标表表名(必须是已创建好的表,否则会出错):
提交申请后会进入预检查阶段,系统会预检查用户上传的SQL,如果是CSV文件,会生成相应的insert语句。
预检查通过后,由于管理员账号的关系,可以直接点击【执行变更】:
执行期间,系统流式读取解析好的SQL,分批执行到数据库(每批大小1MB)。
刷新任务状态后显示执行成功。找到目标表,右键点击【打开表】:
可以看到数据已成功导入:
在此基础上还可以进行数据可视化的操作,此处略去不谈。
2使用DTS进行数据迁移(不完全)
如何把数据库迁移到RDS
数据迁移方案概览(RDS MySQL)
2.1DTS
这里介绍使用数据传输服务DTS(Data Transmission Service)进行数据迁移。 DTS是一种集数据迁移、数据订阅及数据实时同步于一体的数据传输服务,支持多种数据源类型(例如关系型数据库、非关系型数据库、OLAP等)。
DTS数据迁移方案概览
注意DTS分为国内版和国际版:
国内版
令人遗憾的是,数据迁移不支持类似SQLServer到MySQL这样的不同类型数据库之间的迁移:
这也是为什么这一章节只有一半的原因,因为使用DTS无法达成我进行异构数据库数据迁移的目的。
2.2迁移方式
迁移方式分为结构迁移、全量数据迁移以及增量数据迁移。
- 结构迁移:DTS将迁移对象的结构定义迁移到目标实例。
- 全量数据迁移:DTS会将自建数据库迁移对象的存量数据,全部迁移到目标实例数据库中。
- 增量数据迁移:在全量迁移的基础上,DTS将自建数据库的增量更新数据同步到目标实例中。通过增量数据迁移可以实现在自建应用不停服的情况下,平滑地完成数据库的迁移上云。
2.3准备工作:无公网IP
在使用DTS执行数据迁移、数据同步或数据订阅操作时,还需要为自建的源或目标数据库做一些准备工作,以满足DTS对环境的要求。
准备工作概览
DTS支持不同的实例类型:
选择不同的实例类型,需要进行的准备工作不同。
默认选择实例类型为有公网IP的自建数据库,选择该条目时待迁移的本地数据库必须具备公网地址。
当源或目标库部署在本地,但是不具备公网地址时,可以选择无公网IP:Port的数据库(通过数据库网DG接入),这是一种低成本的数据库网关接入方案。
这里以数据库网关接入方案的准备工作进行举例。
2.3.1 创建AccessKey
首先需要创建AccessKey并获取AccessKey ID和AccessKey Secret信息。
访问密钥AccessKey(AK)相当于登录密码,只是AccessKey用于程序方式调用云服务API。
使用云账号登录RAM控制台。访问控制(Resource Access Management,RAM)是阿里云提供的一项管理用户身份与资源访问权限的服务。详见:访问控制
初次登录RAM控制台时,需要进行RAM角色授权:
进入RAM控制台后,点击左侧列表的【用户】:
点击【创建用户】:
然后点击“用户登录名称”,进入页面后创建AccessKey,注意AccessKey ID和AccessKey Secret信息只有在创建AccessKey显示:
2.3.2创建数据库网关
数据库网关是一种支持私网数据库远程访问的数据库连接服务。通过数据库网关,可以安全且低成本地将第三方云或本地的数据库接入至阿里云。
什么是数据库网关
进入页面后点击“新建网关”:
根据PC操作系统选择需要下载的网关程序:
在数据库网关程序中输入上图中给出的Endpoint和随机验证码:
手动添加数据库地址。注意数据库地址由IP地址和端口号组成:
数据库的IP地址和端口号可在SQL Server Configuration Manager中查看:
2.4 数据迁移
在DTS左侧列表中选择【数据迁移】,选择地域并点击创建迁移任务:
在实例类型中选择【无公网IP:Port的数据库(通过数据库网DG接入)】,在“源库信息”和“目标库信息”中点击测试连接:
测试成功。
点击【授权白名单并进入下一步】。
本人的测试到此为止。
DTS方法:
从自建SQL Server全量迁移至RDS SQL Server
从自建MySQL迁移至RDS MySQL