MySQL資料一致性檢查的幾個工具

2021-09-22 01:29:03 字數 2168 閱讀 3175

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工具集的乙個指令碼,可以用來對比不同資料庫之間的表結構,或者同個資料庫間的表結構。

示例一:檢查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:[email protected]:3306 --server2=user:[email protected]:3306 --changes-for=server1 dbname:dbname

4、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資料一致性檢查的幾個工具

1 mysql checksum命令 在執行checksum命令時,表會被加乙個讀鎖 read lock checksum table的原理是對錶中的資料進行一行一行的較驗和計算,因些對於大表,這是乙個很耗時的過程。如果對於myisam表,建表時加上checksum 1選項,那麼在對這樣的表進行ch...

資料一致性

資料一致性通常指關聯資料之間的邏輯關係是否正確和完整。而資料儲存的一致性模型則可以認為是儲存系統和資料使用者之間的一種約定。如果使用者遵循這種約定,則可以得到系統所承諾的訪問結果。常用的一致性模型有 a 嚴格一致性 linearizability,strict atomic consistency ...

資料一致性

丟失更新 未確定的相關性 不一致的分析和幻想讀 事務a讀取與搜尋條件相匹配的若干行。事務b以插入或刪除行等方式來修改事務a的結果集,然後再提交。幻讀是指當事務不是獨立執行時發生的一種現象,例如第乙個事務對乙個表中的資料進行了修改,比如這種修改涉及到表中的 全部資料行 同時,第二個事務也修改這個表中的...