《Mysql Binlog概述》要點:
本文介紹了Mysql Binlog概述,希望對您有用。如果有疑問,可以聯系我們。
Binlog是一系列日志文件,他們包括的內容是Mysql數據內容的改變.如果想開啟binlog功能,需要在啟動時帶上--log-bin參數.
binlog是從Mysql3.23.14版本開始的.它包括所有更新數據的sql語句.它還包括可能更新數據的語句(比如,刪除不存在的數據行的語句),除非日志的記錄是以基于行的.sql語句是以描述修改的事件形式存儲的.binlog也包括每個語句的執行時間.
binlog還包括其他的一些源數據,比如:
語句執行時,服務器的狀態信息,以便用于正確的重新勝利執行語句
差錯碼
為了維持binlog文件的連續性所需要的元數據(好比,rotate事件)
binlog文件是服務器在執行sql語句過程中整體狀態的情況跟蹤.它包括的事件描述了狀態的變化.更精確的是,binlog事件描述的事件可以被用來重現服務器當時的狀態改變.
binlog文件有兩個重要的目的:
為了主從復制,binlog文件是master服務器記錄的,會被發送給slave服務器.很多binlog的格式細節和處理是用于這個目的的.master服務器發送binlog文件中的事件給slave服務器,然后slave服務器執行這些事件,最終達到的目標就是保證slave服務器的數據變化與master一致.slave服務器在執行這些事件之前,會把這些事件存儲在當地的relay log中.relay log的格式與binlog一樣.
某些數據恢復操作必要使用binlog.在備份文件恢復后,binlog中的事件會重新執行.這些事件會讓數據庫的數據回到備份時間點.
目前有兩種類型的binlog:
基于語句的:包括sql語句的事件(insert、update、delete)
基于行的:描述每一行的數據變化的變亂
混合的日志默認使用的是基于語句的記錄方式,在需要時會切換到基于行的記錄方式.基于行的記錄方式從Mysql 5.1版本開始支持.
mysqlbinlog對象可以把binlog或者relay log日志以可讀的方式打印出來.
歡迎參與《Mysql Binlog概述》討論,分享您的想法,維易PHP學院為您提供專業教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/7886.html