不用说,看名字也知道,gt-checksum工具是数据校验工具。
gt-checksum
没错,gt-checksum 是GreatSQL社区新增的成员,它是 一款静态数据库校验修复工具,支持MySQL、Oracle等主流数据库,采用Go语言开发,今天正式开源。
作为MySQL DBA,相信应该都听说过Percona出品的 pt-table-checksum & pt-table-sync 工具(没听说过的绝对不是合格的MySQL DBA,嘿嘿),可以用它俩进行数据校验及修复工作,非常好用。
pt-table-checksum & pt-table-sync
不过,在MySQL MGR架构中,或者是当下常见的上云、下云业务中,以及MySQL、Oracle间的异构数据等多种场景中,pt工具并不支持。针对这些需求痛点,我们结合平时遇到的客户需求,开发了 gt-checksum 数据校验&修复工具,并贡献给GreatSQL社区,进行开源,继续促进业内开源生态健康发展。
gt-checksum工具支持以下几种常见业务需求场景:
pt-table-checksum
pt-table-sync
以上这些场景,都可以利用 gt-chcksum 工具来满足。
gt-chcksum
在正式开源之前,gt-checksum 工具已经在内部经过了十数个版本迭代,可以满足绝大多数场景下的数据校验&修复需求,尤其是MySQL、Oracle间的异构数据库场景。
gt-checksum 工具主要功能特性有:
指定配置文件,开始执行数据校验,示例:
shell> gt-checksum -f ./gc.conf -- gt-checksum init configuration files -- -- gt-checksum init log files -- -- gt-checksum init check parameter -- -- gt-checksum init check table name -- -- gt-checksum init check table column -- -- gt-checksum init check table index column -- -- gt-checksum init source and dest transaction snapshoot conn pool -- -- gt-checksum init cehck table query plan and check data -- begin checkSum index table db1.t1 [████████████████████████████████████████████████████]113% task: 678/600 table db1.t1 checksum complete ** gt-checksum Overview of results ** Check time: 73.81s (Seconds) Schema Table IndexCol checkMod Rows Differences Datafix db1 t1 ol_w_id,ol_d_id,ol_o_id,ol_number rows 5995934,5995918 yes file
设定只校验db1库下的所有表,不校验test库下的所有表,并设置没有索引的表也要校验
shell> gt-checksum -S type=mysql,user=root,passwd=abc123,host=172.16.0.1,port=3306,charset=utf8 -D type=mysql,user=root,passwd=abc123,host=172.16.0.2,port=3306,char set=utf8 -t db1.* -it test.* -nit yes
gt-checksum还支持极简配置文件模式,最少只需要配置三个参数,即可完成数据校验,例如:
shell> cat gc.conf-simple [DSNs] srcDSN = mysql|pcms:abc123@tcp(172.17.16.1:3306)/information_schema?charset=utf8 dstDSN = mysql|pcms:abc123@tcp(172.17.16.2:3306)/information_schema?charset=utf8 [Schema] tables = db1.t1 shell> gt-checksum -f ./gc.conf-simple ...
注意:
gc.conf-simple
更多使用场景和案例欢迎大家一起来解锁。
gt-checksum代码已上传到 gitee 上,项目地址 https://gitee.com/GreatSQL/gt-checksum,欢迎围观、加星,也欢迎来“找茬”,提patch/issue。
gt-checksum开源发布会将在 03月06日 19:00-22:30 举办 :) 会议链接:https://meeting.tencent.com/dw/dXYm49HwVx1g
评论删除后,数据将无法恢复
好用的数据校验 & 修复工具 gt-checksum 开源啦
不用说,看名字也知道,
gt-checksum工具是数据校验工具。没错,
gt-checksum是GreatSQL社区新增的成员,它是 一款静态数据库校验修复工具,支持MySQL、Oracle等主流数据库,采用Go语言开发,今天正式开源。1. 背景介绍
作为MySQL DBA,相信应该都听说过Percona出品的
pt-table-checksum & pt-table-sync工具(没听说过的绝对不是合格的MySQL DBA,嘿嘿),可以用它俩进行数据校验及修复工作,非常好用。不过,在MySQL MGR架构中,或者是当下常见的上云、下云业务中,以及MySQL、Oracle间的异构数据等多种场景中,pt工具并不支持。针对这些需求痛点,我们结合平时遇到的客户需求,开发了
gt-checksum数据校验&修复工具,并贡献给GreatSQL社区,进行开源,继续促进业内开源生态健康发展。gt-checksum工具支持以下几种常见业务需求场景:pt-table-checksum先校验主从数据一致性后 ,再利用pt-table-sync工具修复差异数据,这个过程要特别久,时间代价太大。以上这些场景,都可以利用
gt-chcksum工具来满足。2. 功能特性
在正式开源之前,
gt-checksum工具已经在内部经过了十数个版本迭代,可以满足绝大多数场景下的数据校验&修复需求,尤其是MySQL、Oracle间的异构数据库场景。gt-checksum工具主要功能特性有:3. gt-checksum使用
3.1 标准使用案例
指定配置文件,开始执行数据校验,示例:
3.2 直接在命令行模式下使用
设定只校验db1库下的所有表,不校验test库下的所有表,并设置没有索引的表也要校验
3.3 使用极简配置文件案例
gt-checksum还支持极简配置文件模式,最少只需要配置三个参数,即可完成数据校验,例如:
注意:
gc.conf-simple。更多使用场景和案例欢迎大家一起来解锁。
4. 项目信息
gt-checksum代码已上传到 gitee 上,项目地址 https://gitee.com/GreatSQL/gt-checksum,欢迎围观、加星,也欢迎来“找茬”,提patch/issue。5. gt-checksum正式开源发布会
gt-checksum开源发布会将在 03月06日 19:00-22:30 举办 :) 会议链接:https://meeting.tencent.com/dw/dXYm49HwVx1g