MySQL数据一致性检查的几个工具
来源:互联网 发布:淘宝生意参谋破解版 编辑:程序博客网 时间:2024/04/29 23:08
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
0 0
- MySQL数据一致性检查的几个工具
- MySQL数据一致性检查工具
- Maatkit工具,Mysql自动检测数据一致性
- Mysql半同步复制、数据一致性检查
- MySQL的几个工具
- MySQL背后的数据一致性分析
- redis与Mysql的数据一致性
- MySQL 使用pt-table-checksum 检查主从数据一致性
- 几个提高代码质量,检查代码规范的工具
- 【分析】Ceph数据一致性检查
- 【分析】Ceph数据一致性检查
- 【分析】Ceph数据一致性检查
- 【分析】Ceph数据一致性检查
- 【分析】Ceph数据一致性检查
- 恢复MySQL主从数据一致性的总结
- MySQL半同步复制的数据一致性探讨
- 【Redis】Redis与MySQL数据一致性的思考
- 几个常见的MySQL性能测试工具
- Spring Data + Thymeleaf 3 + Bootstrap 4 实现分页器
- Java重载overloading与重写(覆盖)overriding
- three for 3ds max 导出three obj 模型文件,插件安装方法
- java 接口小结
- 多重背包(单调队列(滑动最大值)+二进制方法)
- MySQL数据一致性检查的几个工具
- 基于keras的向上跳空高开股票预测的初次体验
- 关于字符串翻转的几种方法
- 290. Word Pattern
- 我的杭电oj之旅——1003
- android7.0新特性--Android for Work
- ubuntu14安装火狐浏览器(firefox)中国版
- 分布式应用程序结构简单理解
- ORA-16433: The database must be opened in read/write mode