当前位置: 首页 > news >正文

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

程序源码下载地址

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

数据库同步检测工具

适用环境

win11

Centos7

工具用途

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

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

使用方法

数据库配置

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

[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

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

{"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

运行程序

http://www.gsyq.cn/news/23241.html

相关文章:

  • MT签名去除签名校验分析
  • day016
  • uml九图和数据流图总结
  • 第一章 应急响应- Linux入侵排查
  • 10月17号
  • 微服务组件-Eureka 科技详解
  • 微服务组件-Eureka 科技详解
  • python-IDLE定制界面大小
  • List.subList() 返回值为什么不能强转成 ArrayList
  • 洛谷 P8512
  • 从libtorch_cuda.so中提取某个函数的sass汇编指令
  • 【题解】成外友谊赛
  • 小程序商城客服系统
  • 2025.10.17
  • 一行代码清空所有 docker 容器的日志文件
  • 2024 CCPC Final F
  • ubuntu常用技巧
  • 字典树 Trie 乱讲
  • 申威(sw_64)架构下如何安装java-1.8.0-swjdk的rpm包?​
  • 实用指南:计算机毕设java基于mybatis的医用器械管理系统 基于 SSM+JavaWeb 的医用器械全流程管理平台 Java+MySQL 的医疗物资一体化系统
  • ffmpeg使用
  • 2025.10.17总结 - A
  • Ubuntu创建python桌面图标
  • Nimble:让SwiftObjective-C测试变得更优雅的匹配库 - 指南
  • 【Linux】基础 I/O - 指南
  • DIVCNT
  • 详细介绍:CI/CD流水线优化:GitLab CI镜像构建加速实战​
  • 最新版Origin 2025b安装包下载及详细安装教程,附永久免费中文汉化破解版Origin安装包
  • Unity3D中定义全局宏(不同于在unity设置中的)
  • HyperWorks许可状态监控工具