分享人:Digoal 阿里云资深数据库专家
正文:
本篇内容将通过三个部分来介绍PG+MySQL第5课。
一、DTS数据传输服务
二、环境介绍
三、采用DTS迁移MySQL到PG及注意事项
一、DTS数据传输服务
DTS数据传输服务,支持关系数据库,分析型数据库之间的结构同步,全量同步以及增量同步的服务。它不仅能支持这些产品间的数据同步,还能支持数据的订阅服务。当业务需要把数据串连,我们可以把关系数据库的增量数据,同步到消息队列,应用可以同步消息队列的这数据,再把它分发到下游的系统。DTS数据传输服务主要应用在新零售的业务场景,精准的用户画像,广告营销等等。我环境配置有一台RDS MySQL8.0和一台PG12。
二、环境介绍
我们在MySQL8.0里创建一个test_mm测试表,id`写入:INT (11) NOT NULL AUTO_INCREMENT。user_id写入:VARCHAR (20) NOT NULL。group_id`写入:INT (11) NOT NULL。
然后,我们创建一个随机字符串函数,方便大家测试使用。
接下来,我们创建存储过程,随机获取函数生成的随机字符,在test表里面写数据。
紧接着,我们调用存储过程,调用100万次,生成100万条记录。新建一个innodb引擎和test innodb表。
三、采用DTS迁移MySQL到PG及注意事项
接下来,将DTS连接到MySQL或者PG实例的控制台。在页面上端,点击迁移数据库指引。弹出数据传输服务窗口,点击数据迁移,创建任务,命名任务名,选则实例,申请PG12实例id,创建数据库,指定RDS账号和密码,测试连接,在此过程,用户必须有数据库create schema的权限。
点击授权白名单,勾选需要的迁移结构,迁移全量数据和增量数据,点击预检查并启动任务,选择迁移的规格。规格不同,价格和带宽不同。点击立即购买并启
动。
完成结构迁移之后,迁移全量数据。新建任务,验证连通性,勾选迁移对象,配置批量修改,配置过滤条件,筛选字段,选中目标,验证它的连通性。勾选迁移内容,启动任务,在DTS控制台查看任务状态。
在迁移过程中,一定要注意权限。如果是mysql用户,必须拥有同步表的权限,如果是增量需要binglog权限。如果是pg库用户,必须拥有目标db创建schema的权限。与此同时,在迁移时一定要注意迁移的映射关系。PG查询时指定schema,或设置search_path参数。