mysql日誌管理

2022-07-11 00:36:13 字數 1810 閱讀 5856

一、錯誤日誌

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...