跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Javajava

Windows 10 本地部署 DataX 与 DataX-Web

Windows 10 环境下本地部署 DataX 及 DataX-Web 完整教程。涵盖 JDK、Python、Maven 环境配置,DataX 包解压与 UTF-8 编码设置,MySQL 测试数据准备,DataX 同步脚本编写与执行。DataX-Web 部分包括源码下载、数据库初始化、配置文件修改(application.yml)、执行器配置及项目启动。最后演示在 Web 界面创建数据源、执行器及同步任务的全过程。

猫巷少女发布于 2025/10/24更新于 2026/9/1092 浏览
Windows 10 本地部署 DataX 与 DataX-Web

Windows 10 本地部署 DataX 与 DataX-Web

搭建 DataX

前置条件

  • JDK (1.8 以上,推荐 1.8)
  • Python (2 或 3 都可以)
  • Apache Maven 3.x (用于编译 DataX)

下载 DataX 编译好的包

下载地址:https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202309/datax.tar.gz

进入目录,使用 PowerShell 打开终端。

执行解压命令:

tar -xzf datax.tar.gz

配置 Windows 命令行支持 UTF-8

不配置此步骤,执行同步命令可能出现中文乱码。

  1. 临时改当前窗口编码 打开 cmd,先执行:

    chcp 65001
    

    再运行:

    python datax.py <路径>/1.json
    

    日志将以 UTF-8 输出,中文正常显示。

  2. 永久生效(可选) 在 Windows 10/11 上设置系统全局控制台编码为 UTF-8:

    • 设置 → 时间和语言 → 区域 → 相关设置 → 管理语言设置 → 更改系统区域设置
    • 勾选 "Beta: 使用 Unicode UTF-8 提供全球语言支持"
    • 重启电脑

准备测试数据

新建两个库,相同的表名 user。

CREATE TABLE IF NOT EXISTS `user` (
  `id` INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  `username` VARCHAR(50) NOT NULL,
  `password` VARCHAR(100) NOT NULL,
  `email` VARCHAR(100) NOT NULL,
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

在 test1 库新增测试数据。可以使用存储过程生成:

DELIMITER $$
CREATE PROCEDURE GenerateUserTestData(IN num_records INT)
BEGIN
  DECLARE i INT DEFAULT 1;
  DECLARE v_username VARCHAR(50);
  DECLARE v_password VARCHAR(100);
  DECLARE v_email VARCHAR(100);
  WHILE i <= num_records DO
    SET v_username = CONCAT('User_', FLOOR(10000 + RAND() * 90000));
    SET v_password = CONCAT('Pass_', FLOOR(100000 + RAND() * 900000));
    SET v_email = CONCAT('user', FLOOR(10000 + RAND() * 90000), '@example.com');
    INSERT INTO `user`(username, password, email) VALUES(v_username, v_password, v_email);
    IF i % 1000 = 0 THEN COMMIT; END IF;
    SET i = i + 1;
  END WHILE;
END$$
DELIMITER ;

新建 DataX 的同步脚本

{
  "job": {
    "content": [
      {
        "reader": {
          "name": "mysqlreader",
          "parameter": {
            "username": "root",
            "password": "root",
            "connection": [{"jdbcUrl": ["jdbc:mysql://localhost:3306/test1"], "table": ["user"]}],
            "column": ["*"],
            "splitPk": ""
          }
        },
        "writer": {
          "name": "mysqlwriter",
          "parameter": {
            "username": "root",
            "password": "root",
            "connection": [{"jdbcUrl": "jdbc:mysql://localhost:3306/test2", "table": ["user"]}],
            "column": ["*"],
            "writeMode": "insert"
          }
        }
      }
    ],
    "setting": {"speed": {"channel": 1}}
  }
}

执行同步命令

python datax.py <路径>/job/test-user.json

执行完成后查看日志,确认任务成功完成。

搭建 DataX-Web

下载源码

git clone https://github.com/WeiYe-Jing/datax-web.git

创建数据库

执行 bin/db 下面的 datax_web.sql 文件(注意老版本更新语句有指定库名)。

修改项目配置

1. 修改 datax_admin 下 resources/application.yml 文件
# 数据源 datasource:
username: root
password: root
url: jdbc:mysql://localhost:3306/datax_web?serverTimezone=Asia/Shanghai&useLegacyDatetimeCode=false&useSSL=false&nullNamePatternMatchesAll=true&useUnicode=true&characterEncoding=UTF-8
driver-class-name: com.mysql.jdbc.Driver

修改数据源配置,目前仅支持 MySQL。

# 配置 mybatis-plus 打印 sql 日志
logging:
  level: com.wugui.datax.admin.mapper: error
  path: ./data/applogs/admin

修改日志路径 path。

# datax-web email
mail:
  host: smtp.qq.com
  port: 25
  username: [email protected]
  password: xxx
  properties:
    mail:
      smtp:
        auth: true
        starttls:
          enable: true
          required: true
        socketFactory:
          class: javax.net.ssl.SSLSocketFactory

修改邮件发送配置(不需要可以不修改)。

2. 修改 datax_executor 下 resources/application.yml 文件
# log config
logging:
  config: classpath:logback.xml
  path: ./data/applogs/executor/jobhandler

修改日志路径 path。

datax:
  job:
    admin:
      ### datax-web admin address
      addresses: http://127.0.0.1:8080
    executor:
      appname: datax-executor
      ip: 
      port: 9999
      ### job log path
      logpath: ./data/applogs/executor/jobhandler
      ### job log retention days
      logretentiondays: 30
      jsonpath: D:\tmp\executor\json\
      pypath: D:\datax-new\datax\bin\datax.py

修改 datax.job 配置:

  • admin.addresses: datax_admin 部署地址。
  • executor.appname: 执行器 AppName。
  • executor.ip: 默认为空表示自动获取 IP。
  • executor.port: 执行器 Server 端口号,默认 9999。
  • executor.logpath: 执行器运行日志文件存储磁盘路径。
  • executor.logretentiondays: 执行器日志文件保存天数。
  • executor.jsonpath: datax json 临时文件保存路径。
  • pypath: DataX 启动脚本地址。

启动项目

本地 IDEA 开发环境
  1. 运行 datax_admin 下 DataXAdminApplication
  2. 运行 datax_executor 下 DataXExecutorApplication

Admin 启动成功后日志会输出三个地址,包括接口文档和前端页面地址。

启动成功

启动成功后打开页面(默认管理员用户名:admin,密码:123456)。 http://localhost:8080/index.html#/dashboard

实战

项目管理 - 添加项目

在 Web 界面点击项目管理,添加新项目。

配置数据源

在 Web 界面配置 MySQL 数据源。

创建执行器

在 Web 界面创建执行器。

构建任务生成同步 JSON

在 Web 界面构建任务,自动生成 DataX 脚本,复制 JSON 内容。

创建任务

创建任务,按照要求填写配置,并将生成的 JSON 粘贴到对应字段,将 byte 的值改为 0。

执行成功

提交任务后查看执行结果,确认同步成功。

目录

  1. Windows 10 本地部署 DataX 与 DataX-Web
  2. 搭建 DataX
  3. 前置条件
  4. 下载 DataX 编译好的包
  5. 配置 Windows 命令行支持 UTF-8
  6. 准备测试数据
  7. 新建 DataX 的同步脚本
  8. 执行同步命令
  9. 搭建 DataX-Web
  10. 下载源码
  11. 创建数据库
  12. 修改项目配置
  13. 1. 修改 datax_admin 下 resources/application.yml 文件
  14. 数据源 datasource:
  15. 配置 mybatis-plus 打印 sql 日志
  16. datax-web email
  17. 2. 修改 datax_executor 下 resources/application.yml 文件
  18. log config
  19. 启动项目
  20. 本地 IDEA 开发环境
  21. 启动成功
  22. 实战
  23. 项目管理 - 添加项目
  24. 配置数据源
  25. 创建执行器
  26. 构建任务生成同步 JSON
  27. 创建任务
  28. 执行成功

更多推荐文章

查看全部
  • 前端数据可视化工具对比与选型指南
  • 利用 OpenClaw 和 cpolar 实现内网穿透,打造随身 AI 助手
  • C++ 双指针算法实战:有效三角形个数与和为 S 的两个数字
  • OpenClaw 配置 Codex 5.3 搭建个人 AI 编程助手
  • 智能家居中控屏:基于 GLM-4.6V-Flash-WEB 识别家庭成员与习惯
  • OpenClaw 本地部署配置飞书机器人实战
  • OpenClaw Web Search 工具配置与官方搜索渠道详解
  • Python 生成真随机数的三种安全方式及最佳实践
  • AI 编程工具选型:Copilot、Cursor、Codex 核心差异
  • uni-app 之 设置 tabBar
  • FPGA 视频 4 分屏系统架构详解
  • 删除排序链表中的重复元素 II(链表)
  • System Verilog 硬件验证实战:从基础语法到高级应用
  • 算法实战:前缀和与后缀和解决中心下标及数组乘积问题
  • AI 辅助编程的边界探索:当 Copilot 学会写测试
  • 基于 IDEA 搭建 Spring Boot + MyBatis + MySQL 工程实践
  • 前端监控最佳实践与 Sentry 集成
  • FPGA 多协议编码器接口集成:BISS-C、SSI 与多摩川实战
  • MySQL 迁移 TCO 全景账本:隐性成本与工程化工具链实测
  • Visual C++运行库修复指南:解决DLL缺失错误

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online