首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python 基于Python开发的数据库同步检测工具

Python 基于Python开发的数据库同步检测工具

作者头像
授客
发布2025-10-18 08:13:20
发布2025-10-18 08:13:20
6700
代码可运行
举报
文章被收录于专栏:授客的专栏授客的专栏
运行总次数:0
代码可运行

程序源码下载地址

https://gitee.com/ishouke/database-checker

数据库同步检测工具

适用环境

win11

Centos7

工具用途

同类型数据库比对,比较库,库表,库模式(针对opengauss)是否一致,比较库表记录数是否一致。

目前支持数据库:mariadb/mysqlopengaussclickhouse,支持单台服务器,多个实例(监听不同端口)的比较。

使用方法

数据库配置

conf/databases.conf -- 配置所有需要比对的数据库实例信息

代码语言:javascript
代码运行次数:0
运行
复制
[192.168.88.131-mariadb-3306]
db_name = mysql
db_host = 192.168.88.131
db_user = testacc
db_passwd = test1234#
db_port = 3306
db_charset = utf8
db_type = mariadb
databases_excluded = information_schema,mysql
remark = 自定义备注: databases_excluded 当前实例中不需要比对的数据库,如果有多个,用英文逗号分隔,同数据库类型的任何一个节点配置下配置都可以,如果同数据类型的多个节点都配置了,那就取并集
remark2 = 实践mariadb版本:11.4.2

[192.168.88.131-mariadb]
db_name = mysql
db_host = 192.168.88.131
db_user = testacc
db_passwd = test1234#
db_port = 3307
db_charset = utf8
db_type = mariadb
databases_excluded = 

[192.168.88.131-clickhouse]
db_name = default
db_host = 192.168.88.131
db_user = testacc
db_passwd = test1234#
db_port = 9000
connect_timeout = 15
db_type = clickhouse
databases_excluded = system,default
remark = 实践clickhouse版本:20.3.5.21

[192.168.88.130-clickhouse]
db_name = default
db_host = 192.168.88.130
db_user = testacc
db_passwd = test1234#
db_port = 9000
connect_timeout = 15
db_type = clickhouse
databases_excluded = 

[192.168.88.138-opengauss]
db_name = postgres
db_host = 192.168.88.138
db_user = testacc
db_passwd = test1234#
db_port = 15400
db_type = opengauss
databases_excluded = postgres,template0,template1
schemas_excluded = pg_catalog, information_schema,dbe_pldeveloper, coverage, db4ai
remark = 针对openguass:schemas_exluded 当前实例中不需要比对的数据库模式,如果有多个,用英文逗号分隔,模式书写格式:schema_name、db_name.schema_name
remark2 = 实践opengauss版本:3.0.3


[192.168.88.139-opengauss]
db_name = postgres
db_host = 192.168.88.139
db_user = testacc
db_passwd = test1234#
db_port = 15400
db_type = opengauss
databases_excluded = postgres,template0,template1
schemas_excluded = pg_catalog, information_schema,dbe_pldeveloper, coverage, db4ai
remark = 
表记录检查配置

conf/table_record_check.conf

说明:该配置主要用于配置获取表记录总数和需要比对的表记录的获取方式,一般不需要配置。表记录字段明细内容比对暂时没实现

代码语言:javascript
代码运行次数:0
运行
复制
{
    "db_type.db_name.table_name": {
        "total_record_num": "SELECT COUNT(*) AS total_record_num FROM table_name",
        "sample_records": "SELECT * FROM table_name ORDER BY id desc"
    },
    "opengauss.db_name.schema_name.table_name": {
        "total_record_num": "SELECT COUNT(*) AS total_record_num FROM table_name",
        "sample_records": "SELECT * FROM table_name ORDER BY id desc"
    }
}
日志配置

一般不用改

conf/log.conf

运行程序
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-10-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 程序源码下载地址
  • 数据库同步检测工具
    • 适用环境
    • 工具用途
    • 使用方法
      • 数据库配置
      • 表记录检查配置
      • 日志配置
      • 运行程序
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档