參考答案
binlog:是用于記錄所有更新了資料的操作語句,語句以事件的形式儲存,它描述資料的更改過程
作用:用于實時備份資料,資料庫的主從複制
log_bin 打開記錄binlog功能
能過binlog參數expire_logs_days來實作
日志會記錄每一行資料被修改的形式,然後在從端對相同的資料進行修改
優點:可以不記錄執行SQL語句上下文相關的資訊,隻記錄哪一條資料被修改,修改成什麼樣了
缺點:所有執行的語句都當記錄到日志檔案中,而且都會以每行記錄的修改來記錄,會産生大量的日志内容
每一條修改資料的SQL都會記錄master的bin-log中,slave在複制的時候SQL程序會解析成和原來master端執行過的相同的SQL來執行
優點:解決了上row level模式的缺點,不需要記錄每一行資料的變化,減少日志量,可以得高性能
缺點:由于記錄的是執行語句,在此模式下會有主從無法複制的問題出現
MYSQL會根據執行的每一條具體SQL語句來區分對待記錄的日志格式,
1)如果不會用到mysql特殊的功能,基本都是預設的模式statement模式
2)如果會到mysql的一些特殊功能,基本都是會使用row level模式
備注
今天是每日一題陪伴大家的第84天,期待你的進步。
對于題目和答案的任何疑問,請在部落格評論區留言。
往期題目索引
<a href="http://lidao.blog.51cto.com/3388056/1914205" target="_blank">http://lidao.blog.51cto.com/3388056/1914205</a>
本文轉自 李導 51CTO部落格,原文連結:http://blog.51cto.com/lidao/1944558