检查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=server23、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:dbname4、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数据是否一致用到的工具,大家觉得是自己想要的吗?如果想要了解更多相关,可以继续关注我们的行业资讯板块。

相关推荐: Java基础学习之数据库连接

数据库的操作mysql增删查改Query OK, 0 rows affected (0.01 sec)首先建立驱动:DriverManager.registerDriver(new Driver());while(resultSet.next()){Strin…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/08 13:02
下一篇 06/08 13:02

相关推荐

发表评论

您的电子邮箱地址不会被公开。