前言
介绍一款开源的数据库同步软件,因为日常的线上环境与测试环境经常出现频繁的数据同步问题。有时候需要指定的数据库,指定的数据表甚至指定的表字段进行同步,这时候就需要一款优秀的中间件来帮忙完成这件事情。在查阅几款中间件,例如 Tapdata cloud(收费,免费没有可视化界面)、DataX(仅支持全量)、Canal(还需额外写代码?),最终敲定 DBSyncer,上手非常简单。
一、介绍
DBSyncer 是一款开源的数据同步中间件,提供Mysql、Oracle、SqlServer、Elasticsearch(ES)、SQL(Mysql/Oracle/SqlServer)等同步场景。支持上传插件自定义同步转换业务,提供监控全量和增量数据统计图、应用性能预警等。
特点
- 组合驱动,自定义库同步到库组合,关系型数据库与非关系型之间组合,任意搭配表同步映射关系
- 实时监控,驱动全量或增量实时同步运行状态、结果、同步日志和系统日志
- 开发插件,自定义转化同步逻辑
连接器 | 数据源 | 目标源 | 支持版本(包含以下) |
---|---|---|---|
Mysql | ✔️ | ✔️ | 5.7.19以上 |
Oracle | ✔️ | ✔️ | 10g以上 |
SqlServer | ✔️ | ✔️ | 2008以上 |
ES | ✔️ | ✔️ | 6.X以上 |
SQL | ✔️ | ||
最近计划 | kafka(设计中)、Redis |
二、入门
2.1 环境安装
按需要准备好 java 环境后。
1、下载软件
2、解压文件 unzip
3、进入 bin 目录启动安装目录
4、开发 centos 的18686 端口
5、登录 ip:18686 平台,输入 admin/admin
2.2 同步 Mysql 数据库
2.2.1 添加连接和驱动
将 10.240.30.85 下的 test_db 库 同步到 10.240.30.93 下的test_db 库。
查看数据库是否开启 binlog日志(原理还是binlog日志)
> show binary logs;
- 添加连接
- 添加驱动
- 增量同步
- 点击启动
2.2.2 无法启动问题
发现在进行增量同步、日志同步方式的时候会自动断开,查看日志错误信息如下:
com.github.shyiko.mysql.binlog.network.AuthenticationException: Client does not support authentication protocol requested by server; consider upgrading MySQL client
重新创建用户:
create user 'dev_xl'@'%' identified by 'Dev@xl2021';
alter user 'dev_xl'@'%' IDENTIFIED with mysql_native_password by 'Dev@xl2021';
grant all privileges on *.* to 'dev_xl'@'%';
FLUSH PRIVILEGES;
然后使用这个账户进行配置数据源。
2.2.3 更新表问题
在做同步的时候,如果添加完驱动后,在进行新增表,这时发现数据源表查不出来,可以进入驱动配置页面,重新保存,然后回去看数据源表是否更新即可。
比如我新增一个 test 表后,点击这个数据源发现查不出。
进入修改连接后保存即可。
2.3 测试使用
在源头表进行新增、删除、修改测试发现都能达到效果。
但对表 DDL 的操作时,发现未能进行结构同步。
但整体上使用是非常简单的,功能也很强大。
今天的文章【开源】数据库同步工具 DBSyncer 介绍分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/15380.html