关于DBmotion

DBmotion仅提供源端,目标连接串,即可实现在线全量增量实时数据迁移的同步工具,社区版默认可以创建5个任务 官网

搭建服务

创建目录

mkdir -p /data/dbmotion

创建docker-compose.yml (内容为官方提供),官方文件地址

#切换目录
cd /data/dbmotion 
#创建文件
vim docker-compose.yml
version: '3.0'

services:

  dts-mysql:
    image: mysql:latest
    container_name: dts-mysql
    environment:
      MYSQL_ROOT_PASSWORD: dbmotion
    command: ['mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci', --default-time-zone=UTC]

  dts-api-server:
    image: squids/dbmotion-community:latest
    container_name: dts-api-server
    environment:
      - SERVER_MODE=DOCKER
      - MYSQL_URI=root:dbmotion@(dts-mysql)/dbmotion
    depends_on:
      - dts-mysql
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /var/dbmotion:/dbmotion/log
    privileged: true

  dts-ui:
    image: squids/dbmotion-ui-community:latest
    container_name: dts-ui
    ports:
      - "30000:80"
    depends_on:
      - dts-mysql
      - dts-api-server

创建完成文件后执行命令创建容器

docker compose up -d

创建完成后使用命令查看容器是否都已经启动

docker compose ps

使用DBmotion

启动完成后访问IP+3000端口就可以看到界面了,如果服务部署在云服务器最好限制IP,因为社区版DBmotion没有用户,访问后就可以见到界面如果对外开放并不安全,内网部署可以忽略

社区版提供了MySQL–>MySQL和MongoDB–>MongoDB以及MySQL–>ChickHouse的同步功能,填写源库和目标库测试后就可以进行下一步

验证通过后

可以选择库和表以及是否开启实时同步

确认信息后就可以创建任务了,我这里是为了演示,就不进行创建了

社区版DBmotion的5个任务对于个人或者数据库不多的企业来说非常够用了,而且很多数据同步工具没有实时同步功能,DBmotion使用起来感觉和阿里云的DTS非常的像,创建也很方便