目录
- 前言
 - 步骤操作大纲
 - 步骤明细
 - 其他问题
 
前言
- Datax是什么?
DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。 - 准备工作
 
- JDK(1.8以上,推荐1.8)
 - Python(2或3都可以)
 - Apache Maven 3.x (Compile DataX)
 - Datax插件下载
 
步骤操作大纲
步骤1. 将下载的Datax插件移动至指定磁盘位置,并解压 
 步骤2. datax\bin目录配置环境变量中 
 步骤3. 进入datax\job目录,打开终端 
 步骤4. 执行命令datax.py job.json 
 步骤5.解决同步过程终端乱码 
 步骤6.自定义json同步文件(核心步骤) 
 步骤7.执行自定义json同步文件,判断结果是否正确
步骤明细
步骤1. 将下载的Datax插件移动至指定磁盘位置,并解压 
 
如上图所示,我将datax.tar.gz移动至E盘下的指定文件,并解压 
 步骤2. datax/bin目录配置环境变量中 
 
 
 如上图所示,我将datax\bin配置到环境变量中,让datax.py文件可以在任意的位置被调用
步骤3. 进入datax\job目录,打开终端 
 
如上图所示,我进入data\job目录下,准备测试datax.json的同步功能 
 步骤4. 执行命令datax.py job.json 
 
 
 如上图我通过datax.py命令执行同步文件job.json,其中job.json是datax提供的测试文件,如果运行结果的读出记录总数为100000条,则表示同步成功
步骤5.解决同步过程终端乱码 
 乱码原因:window操作系统默认编码格式是gbk(963)编码,而在程序开发中我们统一的编码是 UTF-8。这样导致编码不一致,从而中文乱码! 
 
 
终端属性需要配置为当前代码页为UTF-8才可以
 快速解决方式(临时生效):终端输入命令 chcp 65001 
 
然后执行datax.py job.json检查是否乱码
步骤6.自定义json同步文件(核心步骤)
- 准备两个数据库 

库1如上图所示,数据库名为lvyy_test,表为t_user_info,插入了三条数据

库2如上图所示,数据库名为lvyy_test01,表为t_user_info,没有插入数据 - 撰写自定义同步json文件,实现lvyy_test数据库中t_user_info表数据同步至lvyy_test01数据库中的t_user_info
 


 步骤7.执行自定义json同步文件,判断结果是否正确 
 
 
成功同步三条数据
 
数据库插入正常
其他问题
- 低版本json需要去掉注解
 - 高版本的mysql需要加入
mysql://127.0.0.1:3306/lvyy0101?useSSL=false&useUnicode=true&characterEncoding=utf-8
useSSL=false的校验通过规则为用户名和密码匹配通过
后面可以帮助解决中文乱码问题 



















