准備工作:
1.視頻教學http://113.31.104.47/portal/#/course/dashboard/b34d160db64624732ef152a1118af11a
2.DataX的安裝部署https://www.cnblogs.com/qingyunzong/p/9759993.html#_label1_0
3.DataX的使用Python版本要求:2.7.X,DataX未更新至Python3Win10下python 2.7與python 3.6雙環境安裝圖文教程
設計json文檔:(sqlserver to mysql)
{ "job": { "setting": { "speed": { "channel": 3, "byte": 1048576 }, "errorLimit": { "record": 0, "percentage": 0.02 } }, "content": [ { "reader": { "name": "sqlserverreader", "parameter": { "username": "sa", "password": "######", "where": "", "column": [ "bname", "bpwd" ], "connection": [ { "table": ["buyer"], "jdbcUrl": [ "jdbc:sqlserver://localhost:1433;DatabaseName=bookshop" ] } ] } }, "writer": { "name": "mysqlwriter", "parameter": { "writeMode": "insert", "username": "root", "password": "######", "column": [ "name", "pwd" ], "session": [], "connection": [ { "jdbcUrl": "jdbc:mysql://127.0.0.1:3306/hotwords?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8", "table": ["user"] } ] } } } ] } }
官方解讀各個數據庫文檔https://github.com/alibaba/DataX
運行:
python 空格{datax文件夾路徑}\bin\datax.py 空格{json配置文件的路徑}
python2 D:\download\datax\datax\bin\datax.py D:\download\datax\job\sqlserverTomysql.json
亂碼輸入:
CHCP 65001
出錯:
ERROR RetryUtil - Exception when calling callable, 即將嘗試執行第1次重試.本次重試計划等待[1000]ms,實際等待[1000]ms, 異常Msg:[DataX無法連接對應的數據庫,可能原因是:1) 配置的ip/port/database/jdbc錯誤,無法連接。2) 配置的username/password錯誤,鑒權失敗。請和DBA確認該數據庫的連接信息是否正確。]
解決方法:
datax里面的mysql驅動更換成合適的8.x的版本就好了:
查詢你的mysql版本,下載相應的mysql-connector jar包
mysql -uroot -p
替換:
datax->plugins->reader->mysqlreader->libs->mysql-connector-5...的jar包換成8.XX的版本
datax->plugins->write->mysqlwriter->libs->coonector-5...的jar包換成8.XX的版本
運行成功: