Linux運維是現下較爲火熱的職業崗位之一。學習Linux技術的人們愈來愈多。Linux運維學習過程當中,binlog有什麼意義?binlog有哪些工做模式?都有哪些優缺點?binlog有哪些企業使用場景?是運維學習中須要瞭解的內容。
binlog有什麼意義?
binlog是用於記錄全部更新了數據的操做語句,語句以事件的形式保存,它描述數據的更改過程。
binlog的做用是用於實時備份數據,數據庫的主從複製。
log_bin打開記錄binlog功能;binlog的刪除可分爲自動與手動刪除。
binlog有哪些工做模式?都有哪些優缺點?
Row level模式:
日誌會記錄每一行數據被修改的形式,而後在從端對相同的數據進行修改
優勢:能夠不記錄執行SQL語句上下文相關的信息,只記錄哪一條數據被修改,修改爲什麼樣了
缺點:全部執行的語句都當記錄到日誌文件中,並且都會以每行記錄的修改來記錄,會產生大量的日誌內容
statement模式:
每一條修改數據的SQL都會記錄master的bin-log中,slave在複製的時候SQL進程會解析成和原來master端執行過的相同的SQL來執行
優勢:解決了上row level模式的缺點,不須要記錄每一行數據的變化,減小日誌量,能夠得高性能
缺點:因爲記錄的是執行語句,在此模式下會有主從沒法複製的問題出現
mixed自動模式:
MYSQL會根據執行的每一條具體SQL語句來區分對待記錄的日誌格式,
binlog有哪些企業使用場景?
1)若是不會用到mysql特殊的功能,基本都是默認的模式statement模式
2)若是會到mysql的一些特殊功能,基本都是會使用row level模式
以上即是關於「binlog有什麼意義?binlog有哪些工做模式?都有哪些優缺點?binlog有哪些企業使用場景?」的相關介紹。mysql