关于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非常的像,创建也很方便