SyncNavigator 数据酷同步工具 做数据同步时所支持的数据库类型:
支持sqlserver 2000-2014所有版本,全兼容,和MYsql 4.x 、MYsql 5.x 、MYsql 6.x版本。
来源数据库和目标数据库可以版本不同,比如:来源数据库是sqlserver 2012 目标数据库是mysql 5.5 ,都是可以的, SyncNavigator 支持跨数据库版本,无缝传输数据。
只需要能连接上数据库, SyncNavigator 可以安装在第三方电脑上,来源数据库和目标数据库电脑上可以不用安装程序。
出于安全的考虑,您可能会在无公网 IP 服务器上搭建数据库,同时想将此种数据库中的数据同步上云,但是网络连通性会存在问题,导致此环境的数据不能直接同步。本文将为您介绍如何将无公网 IP 环境的下的 MySQL 数据同步到 MaxCompute。
环境准备
一般有 购买云服务 ECS 搭建 MySQL 数据库,没有分配公网 IP(弹性公网 IP) 和 本地 IDC 机房无公网 IP 两种场景,详情如下:
场景一:购买云服务 ECS 搭建 MySQL 数据库 ,没有分配公网 IP(弹性公网 IP)。
此场景下的操作流程,如下图所示:
-
由于 ECS2 服务器没有访问公网的能力,所以本实验需要准备一台跟 ECS2 在同一网段的 ECS1 服务器并且有访问公网的能力。
-
ECS1 作为资源组,同步任务将在此机器运行。
-
从 ECS2 服务器的 MySQL 数据库数据写入到 MaxCompute 中。
注意:
要给数据库赋权限,让 ECS2 服务器能访问到相应的数据库,这样才能将此数据库的数据读取到 ECS1 中,授权命令如下所示:
grant all privileges on *.* to 'demo_test'@'%' identified by '密码'; --> %号代表给所有 IP 授权
-
购买 ECS。
使用云账号 购买一台 ECS 服务器:
-
ECS 服务器(弹性公网:120.76.2.21),作为调度资源组。
-
本地机房搭建 MySQL 数据库 database:demo_test,表名:mytest。
注意:
-
推荐您使用 centos6、centos7 或者 aliyunos。
-
添加的 ECS 服务器需要执行同步任务,需要检查当前 ECS 的 python 版本是否是 python2.6.5 以上的版本(centos 的版本 6.5 64 位)。
-
建议不要分配公网 IP,可以绑定弹性公网 IP。
-
购买 ECS 相应的情况,请登录 ECS 管理控制台进行查询。
-
-
自定义 ECS 需要购买公网带宽,具备访问公网能力。
您可以通过以下两种方式进行自定义:
-
购买 ECS 时,直接 分配 公网 IP 地址。
-
如果不分配公网 IP,那么需要配置并绑定 弹性公网 IP,详情请参见 绑定弹性公网 IP。
ECS 服务器需要具备访问公网的能力,如果该 ECS 服务器既没有系统分配的公网 IP,也没有绑定弹性 IP,那么连接 Dataworks 时将出现问题,因为弹性公网(公网)IP 对于 Dataworks 的汇报心跳非常重要。
-
-
添加安全组。
安全组是一个逻辑上的分组,是一种虚拟防火墙,由同一个地域(Region)内具有相同安全保护需求并相互信任的实例组成,可用于设置单台或多台 ECS 实例的网络访问控制,是重要的网络安全隔离手段。每个实例至少属于一个安全组,在创建时就需要指定。同一安全组内的实例之间网络互通,不同安全组的实例之间默认内网不通。可以授权两个安全组之间互访,详情请参见 应用案例。ECS1 添加安全组的情况,如下图所示:
注意:
添加安全组 172.31.46.0/24,端口范围设置为 -1/-1,这样添加私有网络的 IP 段,可以让整个172.31.46.0 的 IP 段连通,这样就保证了 ECS 能够连通本地机房的数据库,0.0.0.0/0是允许 ECS 访问所以 IP 段。
场景二:本地 IDC 机房无公网 IP。
由于 机器1 没有访问公网的能力,所以需要准备一台跟机器1同一网段的 机器2,并且具备访问公网的能力。
-
机器2 服务器(公网:120.76.2.21),作为调度资源组。
-
本地机房搭建 MySQL 数据库 database:demo_test,表名:mytest。