天天看點

MySQL 5.7 增強的離線分析工具innochecksum

最近正準備寫個工具來分析ibd檔案中的資料分布,剛掃了下mysql5.7的代碼,發現這個功能已經在5.7.2版本中完成了;在新版本中增強了innochecksum的一些分析功能,完全可以滿足我的需求

相關代碼見:

<a href="http://bazaar.launchpad.net/~mysql/mysql-server/5.7/revision/6065">http://bazaar.launchpad.net/~mysql/mysql-server/5.7/revision/6065</a>

http://bazaar.launchpad.net/~mysql/mysql-server/5.7/revision/5912

http://bazaar.launchpad.net/~mysql/mysql-server/5.7/revision/5841

http://bazaar.launchpad.net/~mysql/mysql-server/5.7/revision/5684

唯一的缺點就是:檔案不可以打開!換句話說,可能需要關閉執行個體才能使用如下功能!!!

以下列出了幾個感興趣的指令,具體的可以參考文檔!

                                                                            .

輸出ibd中總的page數:

可以指定checksum的算法(crc32/innodb/none):

指定–no-check –write 重寫無效的page checksum值 ,也可以為–write指定值innodb/crc32/none 來寫入page中指定的值   (這應該屬于危險操作)

                                                                           .

使用–page-type-summary輸出各種page類型的個數:

指定 –page-type-dump則将每個page的detail都輸出到指定檔案中

指定–log輸出每個page的checksum值

另外之前一直無法支援的壓縮表checksum的問題也得到了解決,和正常的ibd檔案一樣解析

繼續閱讀