簡介:html
DataX 是一個異構數據源離線同步工具,致力於實現包括關係型數據庫(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各類異構數據源之間穩定高效的數據同步功能。github地址: https://github.com/alibaba/DataXjava
目前dataX不支持mysql8.X,須要修改源碼,修改的地方python
修改前:suffix = "yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true";
修改後: suffix = "yearIsDateType=false&zeroDateTimeBehavior=CONVERT_TO_NULL&tinyInt1isBit=false&rewriteBatchedStatements=true";
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency>
{ "job": { "setting": { "speed": { "byte":10485760 }, "errorLimit": { "record": 0, "percentage": 0.02 } }, "content": [ { "reader": { "name": "streamreader", "parameter": { "column" : [ { "value": "DataX", "type": "string" }, { "value": 19890604, "type": "long" }, { "value": "1989-06-04 00:00:00", "type": "date" }, { "value": true, "type": "bool" }, { "value": "test", "type": "bytes" } ], "sliceRecordCount": 100000 } }, "writer": { "name": "streamwriter", "parameter": { "print": false, "encoding": "UTF-8" } } } ] } }
MysqlReader插件文檔mysql
{ "job": { "content": [ { "reader": { "name": "mysqlreader", "parameter": { "username": "root", "password": "123456", "column": ["id","name"], "where": "id>0", "connection": [ { "table": [ "user" ], "jdbcUrl": [ "jdbc:mysql://47.101.137.97:3306/test1?serverTimezone=UTC" ] } ] } }, "writer": { "name": "mysqlwriter", "parameter": { "username": "root", "password": "123456", "column": ["id","name"], "connection": [ { "table": [ "user" ], "jdbcUrl":"jdbc:mysql://47.101.137.97:3306/test2?serverTimezone=UTC" } ] } } } ], "setting": { "speed": { "channel": 1, "byte": 104857600 }, "errorLimit": { "record": 10, "percentage": 0.05 } } } }
進入到datax的bin目錄(eg./Users/xuzhihui/test/backend/DataX-master/core/target/datax/bin),而後執行github
python datax.py ../job/test.json
原文出處:https://www.cnblogs.com/harvey2017/p/12148090.htmlsql