MySQL 5.7.20是MySQL官方正式發布的一個版本,該版本的特點是支持了高版本的binlog_format,即ROW模式。binlog是MySQL記錄每次數據變化的日志,是極其重要的一部分。
MySQL 5.7.20的binlog格式與之前的版本不同,新增了許多的功能。其中,ROW模式是最重要的一項。這種模式下,MySQL會將每一條操作記錄下來,并記錄對應的數據值。這樣在進行反向操作的時候,MySQL就可以更加精確的還原數據的狀態,從而保證數據的完整性。
# 開啟行級binlog mysql>SET GLOBAL binlog_format = 'ROW';
與新增功能相對應的,是一些binlog文件的使用限制。比如,ROW模式下,binlog文件的大小會變得更大。因此,建議在使用ROW模式的時候,定期清理過期的binlog。
# 清理過期binlog mysql>PURGE BINARY LOGS BEFORE 'yyyy-mm-dd hh:mm:ss';
除此之外,MySQL 5.7.20還新增了一些結構信息的記錄,以便在進行數據恢復時,可以更好地了解數據的內部結構。
# 顯示binlog文件頭信息 mysqlbinlog --verbose --base64-output=never mysql-bin.000001
MySQL 5.7.20的binlog是一個相對比較復雜的東西,如果能夠很好地掌握其使用方法,則可以最大限度地保證數據的安全性和完整性。