同步資料庫的資料(無公網IP)_最佳實踐_資料整合-
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。