使用CDM将MySQL数据迁移至GaussDB(DWS)集群
本入门提供通过云数据迁移服务CDM将MySQL数据批量迁移到GaussDB(DWS)集群的指导。
本入门的基本内容如下所示:
场景描述
主要包括云上和云下的MySQL数据迁移,支持整库迁移或者单表迁移,本文以云下MySQL的整库迁移为例。
迁移前数据检查
- 连接MySQL实例,查看MySQL数据库情况。
mysql -h <host>-P <port>-u <userName>-p--ssl-ca=<caDIR>
参数
说明
<host>
MySQL数据库连接地址。
<port>
数据库端口,默认3306。
<userName>
MySQL管理员帐号,默认为root。
<caDIR>
CA证书路径,该文件需放在执行该命令的路径下。
出现如下提示时,输入数据库帐号对应的密码:
Enter password:
- 分析需要迁移的数据库名及编码、待迁移的表名、表属性。
例如,查询出待迁移的MySQL目标库为test01、test02以及数据库编码。其中test01库里包括 orders、persons、persons_b三张表和一张视图persons_beijing,test02库里包括一张表persons_c。
- 查询数据库名。
1
show databases;
- 查询数据库编码。
1 2
use <databasename>; status;
- 查询库表。
1 2
use <databasename>; show full tables;
- 由于GaussDB(DWS)数据库对表名大小写不敏感,如果原MySQL数据库中存在大小写混用的表名或者纯大写的表名,例如Table01、TABLE01,需要先修改表名为纯小写后才支持迁移,否则会导致迁移后,GaussDB(DWS)无法识别该表。
- 建议将MySQL也设置成大小写不敏感模式,修改方法:修改/etc/my.cnf参数lower_case_table_names=1,并重启MySQL服务。
- 查看各个表的属性,以备迁移后对比。
1 2
use <databasename>; desc <table name>;
- 查询数据库名。
创建GaussDB(DWS)集群
- 参见创建集群进行创建,区域可选择“中国-香港”。
确保GaussDB(DWS)集群与CDM集群在同一区域,同一个VPC下。
- 参见使用gsql连接DWS集群连接到集群。
- 创建迁移前数据检查的目标数据库test01和test02,确保与原MySQL的数据库同名,数据库编码一致。
1 2
create database test01 with encoding 'UTF-8' dbcompatibility 'mysql' template template0; create database test02 with encoding 'UTF-8' dbcompatibility 'mysql' template template0;
创建CDM集群
- 登录华为云控制台。
- 选择“迁移 > 云数据迁移 CDM”进入CDM管理控制台。
- 单击“购买云数据迁移服务”,按以下参数填写。
表1 CDM集群参数 参数名
取值
当前区域
中国-香港(与DWS选择在同一区域)
可用区
可用区1(如果资源售罄则选其他可用区)
名称
CDM-demo
实例类型
cdm.large(如售罄请选择其他规格)
虚拟私有云
demo-vpc(与DWS选择在同一个VPC)
子网
subnet-f377(10.1.0.0/24)(示例)
安全组
-
企业项目
default
- 单击“立即购买”,核对参数无误,单击“提交”。
- 回到CDM管理控制台的“集群管理”页面,等待约5分钟,集群创建成功后,单击集群操作列的“绑定弹性IP”。
- 勾选可用的弹性IP,单击“确认”。如果没有弹性IP,需要跳转到弹性IP界面,购买弹性IP。
创建连接
- 初次创建MySQL连接,需要上传驱动。
- 访问MySQL驱动,选择“5.1.48”版本下载。
- 下载到本地,解压后,获取mysql-connector-java-xxx.jar。
- 回到CDM管理控制台的“集群管理”页面,单击集群操作列的“作业管理”,选择“连接管理 > 驱动管理”。
- 单击“MySQL”右侧的“上传”,选择mysql-connector-java-xxx.jar,单击“上传文件”。
- 访问MySQL驱动,选择“5.1.48”版本下载。
- 创建MySQL连接。
- 在CDM管理控制台的“集群管理”页面,单击集群操作列的“作业管理”,选择“连接管理 > 新建连接”。
- 连接器类型勾选“MySQL”,单击“下一步”。(如果是云上RDS,则勾选“云数据库 MySQL”。)
- 按表2填写连接信息,填写后单击“测试”,测试成功后,单击“保存”。
如测试不通过,请确认CDM是否以公网IP方式连接MySQL数据库,如果是公网IP方式,请参见5绑定公网IP。
表2 MySQL连接信息 参数项
取值
名称
MySQL
数据库服务器
192.168.1.100(示例,请填写云下MySQL实际的公网IP,要确保MySQL服务器已放开白名单访问)
端口
3306
数据库名称
test01
用户名
root
密码
root用户密码
使用本地API
否
使用Agent
否
- 创建DWS连接。
- 在CDM管理控制台的“集群管理”页面,单击集群操作列的“作业管理”,选择“连接管理 > 新建连接”。
- 连接器类型勾选“数据仓库服务(DWS)”,单击“下一步”。
- 按表3填写连接信息,填写后单击“测试”,测试成功后,单击“保存”。
表3 DWS连接信息 参数项
取值
名称
DWS-test01
数据库服务器
单击“选择”,从集群列表中选择要连接的DWS集群。
说明:系统会自动刷出同一个区域、同一个VPC下的DWS集群,如果没有,则需要手动填写网络已连通的DWS的访问IP。
端口
8000
数据库名称
test01(参见3确保GaussDB(DWS)已手动创建了对应的数据库)
用户名
dbadmin
密码
dbadmin用户密码
使用Agent
否
- 重复3.a~3.c,创建DWS-test02连接。