我的编程空间,编程开发者的网络收藏夹
学习永远不晚

检查MySQL数据是否一致用到的工具

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

检查MySQL数据是否一致用到的工具

下文给大家带来有关检查MySQL数据是否一致用到的工具内容,相信大家一定看过类似的文章。我们给大家带来的有何不同呢?一起来看看正文部分吧,相信看完检查MySQL数据是否一致用到的工具你一定会有所收获。

1、MySQL checksum命令

在执行checksum命令时,表会被加一个读锁(read lock),checksum table的原理是对表中的数据进行一行一行的较验和计算,因些对于大表,这是一个很耗时的过程。
如果对于myisam表,建表时加上CHECKSUM=1选项,那么在对这样的表进行checksum table时将会非常快

checksum table test.tbname;
root@test09:43:36>checksum table test.tbname;
+-------------+------------+
| Table       | Checksum   |
+-------------+------------+
| test.tbname | 1105600045 |
+-------------+------------+
1 row in set (0.00 sec)
具体逻辑见MySQL源码(MySQL 5.7.17):
sql/sql_table.cc
bool mysql_checksum_table(THD thd, TABLE_LIST tables,HA_CHECK_OPT *check_opt)

2、mysqldiff
mysqldiff该工具是官方mysql-utilities工具集的一个脚本,可以用来对比不同数据库之间的表结构,或者同个数据库间的表结构。
下载地址:
https://dev.mysql.com/downloads/utilities/
示例一:检查server1,server2上的某个表结构是否一致
mysqldiff --server1=user:pwd@host:port --server2=user:pwd@host:port --changes-for=server2  dbname.tablename:dbname.tablename
示例二:检查server1,server2上的两个数据库中的表结构是否一致
mysqldiff --server1=user:pwd@host:port --server2=user:pwd@host:port dbname:dbname --changes-for=server2

3、mysqldbcompare
mysqldiff该工具是官方mysql-utilities工具集的一个脚本,可以用来检查不同数据库之间的数据一致性,检查内容包括数据库字符集、表结构、数据内容,只要有一个不一样,则检查不通过。
示例:
mysqldbcompare --server1=user:pwd@192.168.56.110:3306 --server2=user:pwd@192.168.56.111:3306 --changes-for=server1 dbname:dbname

4、pt-table-checksum
pt-table-checksum是在线的主从数据一致性检查工具,能够对大数据量的数据库进行高效的主从数据一致性检查,能够自动控制检查数据量的大小,避免对线上业务造成较大的影响。下面对展示该工具的常见几种用法,更多细节见pt-table-checksum官方帮助文档。

示例一:对特定表的一致性进行检查
pt-table-checksum --host='192.168.56.110' --user='admin' --password='pwd' --port=3306 --recursion-method=processlist --replicate=percona.checksums --no-check-binlog-format --chunk-time=0.5 --tables='dbname.tb1,dbname2.tb2'

示例二:对特定数据库的一致性进行检查
pt-table-checksum --host='192.168.56.110' --user='admin' --password='pwd' --port=3306 --recursion-method=processlist --replicate=percona.checksums --no-check-binlog-format --chunk-time=0.5 --databases='dbname1,dbname2'

示例三:对所有数据库的一致性进行检查
pt-table-checksum --host='192.168.56.110' --user='admin' --password='pwd' --port=3306 --recursion-method=processlist --replicate=percona.checksums --no-check-binlog-format --chunk-time=0.5

对于上文关于检查MySQL数据是否一致用到的工具,大家觉得是自己想要的吗?如果想要了解更多相关,可以继续关注我们的行业资讯板块。 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

检查MySQL数据是否一致用到的工具

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MYSQL插入数据时检查字段值是否重复的方法是什么

这篇“MYSQL插入数据时检查字段值是否重复的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MYSQL插入数据时检
2023-06-26

mysql查询一组数据是否存在数据库,并且返回不存在的数据sql语句

SELECT md5 FROM ( SELECT "dec22e4d774bf6de7ede1480aa7b6759" as md5 UNION SELECT "11" as md5 UNION SELECT "22" as md5 UNION SELECT
2020-07-14

新一代数据集成工具ETLCloud入门实践:实现MySQL到ClickHouse的快速迁移

背景 大数据(BigData)最重要的是数据,没有数据其他的就无从谈起(如今GPT大热,也是得益于海量数据的采集、存储、计算及治理能力的提升)。大数据项目开发的首要任务就是采集海量数据,这就要求我们具备海量数据采集的能力。 在实际工作中,数
2023-08-18

mysql从一张表查出数据存到另一张表和inner join的用法

INSERT INTO test_table_public(class, name, geography) SELECT class, name, geography FROM test_table WHERE id >= 137181 AND id = 1
mysql从一张表查出数据存到另一张表和inner join的用法
2020-10-09

SQLServer 错误 1204 SQL Server 数据库引擎的实例此时无法获得 LOCK 资源。 请在活动用户较少时重新运行该语句。 请询问数据库管理员,检查此实例的锁定和内存配置,或检查是否

详细信息 Attribute 值 产品名称 SQL Server 事件 ID 1204 事件源 MSSQLSERVER 组件 SQLEngine 符号名称 LK_OUTOF 消息正文 SQL Server ...
SQLServer 错误 1204 SQL Server 数据库引擎的实例此时无法获得 LOCK 资源。 请在活动用户较少时重新运行该语句。 请询问数据库管理员,检查此实例的锁定和内存配置,或检查是否
2023-11-05

SQLServer 错误 41365 未计划数据库 %.*ls 事务范围 [%ld,%ld] 的合并要求。 表示范围的检查点文件对合并不可用或是正在进行的合并的一部分。 故障 处理 修复 支持远程

详细信息 Attribute 值 产品名称 SQL Server 事件 ID 41365 事件源 MSSQLSERVER 组件 SQLEngine 符号名称 HK_MERGE_SCHEDULE_ERROR ...
SQLServer 错误 41365 未计划数据库 %.*ls 事务范围 [%ld,%ld] 的合并要求。 表示范围的检查点文件对合并不可用或是正在进行的合并的一部分。 故障 处理 修复 支持远程
2023-11-05

编程热搜

目录