dbmotion mysql同步工具

dbmotion同步工具

mysql:8.0.27

docker-compose.yml

bash 复制代码
version: '3.0'
services:
#  dts-mysql:
#    image: mysql:8.0
#    container_name: dts-mysql
#    environment:
#      MYSQL_ROOT_PASSWORD: dbmotion
#    command: ['mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci', '--default-time-zone=UTC','--port=33306']
  dts-api-server:
    image: harbor.xxxxx.cn/squids/dbmotion-community:latest
    container_name: dts-api-server
    environment:
      - SERVER_MODE=DOCKER
      - MYSQL_URI=root:123@(172.17.219.116:3307)/dbmotion
#    depends_on:
#      - dts-mysql
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /var/dbmotion:/dbmotion/log
    privileged: true
  dts-ui:
    image: harbor.xxxxx.cn/squids/dbmotion-ui-community:latest
    container_name: dts-ui
    ports:
      - "30000:80"
    depends_on:
#      - dts-mysql
      - dts-api-server

DBMotion 是一款用于数据库迁移、同步和校验的工具。它由沃趣科技(WoquTech)开发,旨在提供"丝滑"的数据库迁移体验,支持同构、异构数据库之间的数据流转。


✨ 核心特性

  • 零停机迁移:采用"全量迁移 + 实时增量同步"的模式,可将业务停机时间缩短至秒级。
  • 高性能并发 :全量、增量及校验过程均采用多线程并发处理,全量/增量同步速度可达 40MB/s
  • 数据一致性保障 :提供全量+增量迁移,确保数据完整;并通过对象校验 (精确到字段属性)和数据校验(基于Checksum分块对比)来保障数据一致性。
  • 高可用与容灾 :支持反向同步 便于一键回滚,也支持双向同步以实现异地多活。
  • 简单易用与安全 :提供可视化Web操作界面,整个迁移过程对源库无感知、不加锁。支持端到端加密(SSL)保障数据传输安全。

🗄️ 支持的数据库

DBMotion支持的数据库类型正在不断扩展,目前主要包括:

  • MySQL 生态:支持 MySQL to MySQL(5.6、5.7、8.0版本)、以及 MySQL to ClickHouse。
  • 国产数据库生态:支持向 openGauss、GaussDB等国产数据库的迁移。
  • NoSQL 及其他:支持 MongoDB to MongoDB。
  • 未来规划:PostgreSQL、Oracle to GaussDB等。

💰 版本与授权

DBMotion社区版免费,但不开源

版本 特点与限制
社区版 (Community) 免费,不支持双向同步和数据校验。活跃任务数限制为4个
企业版 (Enterprise) 付费,功能完整,通过过期时间和活跃任务数来控制授权。
SaaS版 功能与企业版一致,公测期间免费。需在 Squids.cn 注册,源和目标库需有公网IP。

提示活跃任务指正在运行(非暂停、非失败)的迁移或同步任务。

🚀 安装部署

DBMotion基于Docker部署,步骤简洁:

  1. 环境准备 :确保系统已安装 DockerDocker Compose
  2. 下载配置 :下载官方 docker-compose.yaml 配置文件。
  3. 启动服务 :在文件目录下执行命令 docker-compose up -d
  4. 访问界面 :通过 http://{服务器IP}:30000 访问Web管理界面。

💡 使用场景

  • 数据库迁移:无论是从国外商业数据库迁移到国产数据库,还是在本地IDC与公有云之间迁移,DBMotion都能提供一键式解决方案。
  • 数据同步与容灾 :利用其实时增量同步能力,构建"两地三中心"或"异地多活"的容灾架构。
  • 数据校验:在迁移完成后,对源端和目标端进行数据校验,确保数据一致性。

⚠️ 注意事项

  • 性能影响因素 :实际同步性能受网络带宽源库目标库的性能制约。
  • 社区版限制:免费版不支持数据校验和双向同步,且有任务数限制。
  • 存储引擎转换 :迁移MySQL时,会自动将 ARCHIVEMyISAM 等非事务引擎转换为 InnoDB
  • 内网访问:SaaS版要求数据库有公网IP。若数据库在内网,需在内网部署社区/企业版,或通过代理网关访问。

🔗 相关资源