一、錯誤日誌
1.作用:排查mysql執行時的故障
2.自定義錯誤檔案日誌位置
在配置檔案中,加入 log_error =檔案目錄,在重啟資料庫
3.檢視錯誤檔案位置
select@@log_error;
二、二進位制日誌
1.作用:主從依賴二進位制檔案
資料恢復靠二進位制檔案、
2.開啟二進位制文集
在配置檔案中加入
log_bin=檔案目錄位置
server_id=6
3.檢視二進位制命令
檢視二進位制檔案是否開啟:show variables like 'log_bin';
檢視二進位制檔案列表;show binary logs;
檢視當前二進位制檔案是哪個:show master status;
重新整理二進位制檔案:flush logs;
檢視某個二進位制檔案的事件:show binlog evrnts in '日誌檔名'
三、二進位制檔案記錄什麼
1.記錄了資料庫所有變更類的操作,dml,dcl,ddl
對於ddl.dcl:以語句的方式原模原樣的記錄
對於dml;
(1)記錄已提交的事務
(2)dml的格式有statement,row,mixed通過binlog_format引數控制:
statement(sbr);語句模式記錄日誌,做什麼命令,就記錄什麼
row(rbr):行模式,資料行的變化
mixed(mbr):混合模式,以上倆種模式混合使用
例題:sbr和rbr什麼區別怎麼選擇?
sbr:可讀性較強,對於範圍操作日誌量少,可能會出現記錄不準確的情況
rbr:可讀性弱,對於範圍操作日誌量大,不會出現錯誤
高可用環境的新特性要依賴於rbr
四、二進位制檔案記錄單元
1.事件二進位制日誌的最小單元
2.mysqlbinlog命令的一些引數
(1)-d 指定某個資料庫到二進位制日誌資訊
mysqlbinlog -d ccc(資料庫名) mysql-bin.000001
(2)-d 再用二進位制檔案恢復資料時,也會產生二進位制檔案,禁用二進位制日誌
mysqlbinlog-d mysql-bin.000001
3.擷取日誌檔案
mysqlbinlog --start-position=事件開始位置 --stop-position=事件結束位置 日誌檔案目錄位置 >/tmp/bin.sql;
注意:
在恢復資料時,先set sql_log_bin=0臨時關閉日誌檔案,防止恢復時產生日誌資訊,恢復結束後 set sql_log_bin=1
五、binlog的gtid記錄模式管理
1.gtid介紹
對於binlog來說,每個事務都會產生乙個gtid號,ddl,dcl乙個event就是乙個事務,就會有gtid,對於dml
從begin到commit就是乙個事務,就會有gtid
2.gtid開啟與配置
vim /etc/my.cnf
gtid-mode=on
enforce-gtid-consistency=true
3.gtid的冪等性
如果拿有gtid的日誌去恢復資料時,會檢查系統是否有相同的gtid號,如果有則跳過,會影響主從複製和binlog恢復
4.引數說明
--skip-gtids
mysql日誌管理
1,錯誤日誌 記錄啟動 執行或停止時出現的問題,一般也會記錄警告資訊。2,一般查詢日誌 記錄建立的客戶端連線和執行的語句。3,慢查詢日誌 記錄所有執行時間超過long query time秒的所有查詢或不使用索引的查詢,可以幫我們定位伺服器效能問題。1,錯誤日誌 錯誤日誌 記錄啟動 執行或停止時出現...
MySQL日誌管理
mysql日誌主要包含 錯誤日誌 一般查詢日誌 慢查詢日誌 二進位制日誌 中繼日誌 事務日誌。1.錯誤日誌 錯誤日誌大概記錄以下幾個方面的資訊 伺服器啟動和關閉過程中的資訊 未必是錯誤資訊,如mysql如何啟動innodb的表空間檔案的 如 何初始化自己的儲存引擎的等等 伺服器執行過程中的錯誤資訊 ...
MySQL 日誌管理
在 mysql 中,有 4 種不同的日誌,分別是錯誤日誌 二進位制日誌 查詢日誌和慢查詢日誌。錯誤日誌記錄了 mysql 啟動和停止時以及伺服器在執行過程中發生嚴重錯誤時的相關資訊。mysql show variables like log error variable name value log...