mysql日誌詳解

2022-09-14 15:57:20 字數 3756 閱讀 8839

日誌分類:

一、錯誤日誌。

1、在配置檔案中的配置是:log-error="desktop-igoodful.err",檢視引數的鍵值對:show variables like 'log_error';

二、二進位制日誌。

1、記錄了對資料庫執行更改的所有操作,當然不包含select和show的操作。作用有兩個:恢復和複製。

2、二進位制日誌開關。my.ini配置檔案中的配置:log_bin=on。二進位制日誌檔案預設不開啟。開啟這個功能大概降低mysql效能的1%,但是提供了恢復和複製功能,值得。也可以直接配置log-bin這個鍵值對就可以開啟二進位制日誌功能。

3、二進位制日誌檔名。log-bin=d:\mysql\data\

igoodfulbinarylog。其中d:\mysql\data路徑為全域性變數datadir的值,且該日誌檔案只能在datadir路徑下面。這裡設定的二進位制檔名為igoodfulbinarylog,伺服器生成的第乙個二進位制日誌檔案為igoodfulbinarylog.000001,以後依次遞增,同時在該路徑下面還會產生igoodfulbinarylog.index檔案來記錄所有二進位制日誌檔名的全路徑名。每次啟動mysql服務都會生成乙個二進位制日誌檔案。如下圖:

4、配置二進位制日誌檔案的記錄格式。my.ini配置檔案中的配置:binlog-format=row/statement/mixed。基於行/語句/兩者的混合。預設值是statement,建議mixed。statement形式則記錄的是邏輯sql語句,而row則是以行記錄,mixed則是兩者的混合。

5、配置二進位制日誌檔案大小的最大值。my.ini配置檔案中的配置:max_binlog_size=512m。單位可以為k/m/g。檢視:show variables like 'max_binlog_size';當二進位制檔案的大小達到這個最大值後會自動新建下乙個二進位制檔案。限制單個二進位制檔案的大小。當記錄的日誌檔案大小達到最大值後會新建乙個日誌檔案;當重啟mysql服務時也會新建乙個日誌;當執行flush logs也會新建乙個日誌檔案。

6、二進位制日誌檔案自動逾期清除功能。my.ini配置檔案中的配置:expire_logs_days=2;

7、二進位制日誌檔案的檢視。mysqlbinlog

d:\mysql\data\igoodfulbinarylog.000180 > a.txt

8、記錄了對資料庫執行更改的所有操作,當然不包含select和show的操作。

9、顯示伺服器的所有二進位制檔名。show binary logs;

10、三、慢查詢日誌。

1、慢查詢開關。my.ini配置檔案中的配置:slow-query-log=1。

1、慢查詢時間限定。my.ini配置檔案中的配置:long_query_time=10。檢視引數:show variables like '%long_query_time%';

2、沒有索引的sql是否記錄。my.ini配置檔案中的配置:log_queries_not_using_indexes=1。檢視引數:show variables like '%log_queries_not_using_indexes%'

四、查詢日誌。

1、記錄了所有對mysql資料庫請求的資訊,不論這些請求的執行是否正確。

2、查詢日誌開關。my.ini配置檔案中的配置:general-log=1。

3、查詢日誌檔名。my.ini配置檔案中的配置:general_log_file="desktop-igoodful.log"。

五、pid檔案。

1、mysql服務的程序pid檔名。my.ini配置檔案中的配置:pid_file=d:\mysql\data\igoodful.pid

六、表結構定義檔案。

1、任何儲存引擎中的乙個表都有乙個以frm結尾的表結構定義檔案,該檔案記錄了表的結構。

七、重做日誌檔案。事務機制根源。

1、記錄了針對innodb儲存引擎的事務日誌。

2、重做日誌檔案存放位置。my.ini配置檔案中的配置為:innodb_log_group_home_dir=d:\mysql\data。預設值為datadir全域性變數代表的路徑。

2、檔名。有兩個檔案,分別是ib_logfile0和ib_logfile1。路徑都是在datadir全域性變數代表的路徑。

3、重做日誌檔案大小。my.ini配置檔案中的配置為:innodb_log_file_size=512m。如下面第5後面的圖所示。

4、重做日誌檔案組的數量。預設為1,表示只有乙個租

5、乙個重做日誌檔案組中的重做日誌檔案的數量。my.ini配置檔案中的配置為:innodb_log_files_in_group=3。預設值為2。如下為設定成3,表示三個檔案。從0開始自增。

6、八、表空間檔案。(存放表的資料、索引、插入快取資訊、表的內部資料字典,其餘資訊放在預設表空間中)(針對innodb儲存引擎)

1、獨立表空間配置,即每個表乙個獨立的表空間,檔名=表名+ibd字尾,如user表,則user表的表空間檔名為user.ibd。my.ini配置檔案中的配置:innodb_file_per_table=1。因此,任何乙個表的資訊存放在frm檔案、ibd檔案、ibdata1檔案中。

2、innodb儲存引擎有乙個共享表空間檔案。檔名是ibdata1。如果不設定innodb_file_per_table=1,則所有資料都會放在該檔案。設定後就分擔一部分資料到各自的ibd檔案中去。就算啟用了innodb_file_per_table=1,該檔案還是不斷地增加。

3、表空間結構圖如下。乙個表空間由分散的頁和段組成,比如資料段,索引段、回滾段等,有的物件是由頁組成;乙個區由64個連續的頁組成,乙個頁大小為16kb,即乙個區為1m。innodb儲存引擎每次最多能夠申請到4個區。啟用了innodb_file_per_table=1時,新建的乙個表,如果不存放任何資料進去,那麼該錶的表空間檔案(表名.ibd檔案)預設大小是96k。因此空表看該檔案大小是不是96k就可以判斷。而在每個段開始位置處有32個頁大小的碎片頁來存放資料。只有當這些頁使用完後才是64個連續頁的申請,即1m的申請。innodb的頁大小不可更改,只能是16kb大小。常見的頁型別有資料頁,事務資料頁、系統頁,undo頁,插入緩衝點陣圖頁,插入緩衝空閒列表頁,壓縮的二進位製大物件頁,未壓縮的二進位製大物件頁。行,資料庫是面向行的,資料是按照按行來儲存的,每一頁存放的行是有限制的,最多能夠存放16kb/2 - 200=7992行。乙個頁儲存的是一行一行的記錄。

4、七、表空間檔案。

七、表空間檔案。

七、表空間檔案。

七、表空間檔案。

七、表空間檔案。

mysql詳解日誌 MySQL日誌檔案詳解

概述 日誌檔案是mysql資料庫的重要組成部分。mysql有幾種不同的日誌檔案,通常包括錯誤日誌檔案,二進位制日誌,通用日誌,慢查詢日誌,等等。這些日誌可以幫助我們定位mysqld內部發生的事件,資料庫效能故障,記錄資料的變更歷史,使用者恢復資料庫等等。本文主要描述mysql的各種日誌檔案。mysq...

mysql 日誌詳解 MySQL日誌檔案詳解

概述 日誌檔案是mysql資料庫的重要組成部分。mysql有幾種不同的日誌檔案,通常包括錯誤日誌檔案,二進位制日誌,通用日誌,慢查詢日誌,等等。這些日誌可以幫助我們定位mysqld內部發生的事件,資料庫效能故障,記錄資料的變更歷史,使用者恢復資料庫等等。本文主要描述mysql的各種日誌檔案。1.錯誤...

詳解MySQL日誌

binlog redo log與binlog的區別 什麼是undo log mysql日誌主要有三種 redo log redo log是mysql的innodb儲存引擎特有的日誌,redo log的作用是用來做持久化的,acid特性的永續性,就是redo log做的,它使得mysql擁有crash...