MySQL之日誌管理篇

2021-08-10 15:45:51 字數 2847 閱讀 1228

mysql中主要有binlog、relay log、error log、slow log、operation log、transaction log(undo log、redo log)、general log等日誌。

mysql>show master status; 檢視當前正在使用的二進位制日誌

mysql>show binlog events in

'mysql-bin.000001'; 檢視二進位制日誌記錄的事件[from position]

mysql>flush logs; 二進位制日誌滾動

mysql>show binary logs; 檢視所有二進位制日誌

mysql>purge binary logs to 'mysql-bin.000003'; 刪除二進位制日誌

relay-log = file_name #指定中繼日誌的位置和名字,預設為host_name-relay-bin。也可以使用絕對路徑,以指定非資料目錄來儲存中繼日誌

relay-log-index = file_name #指定中繼日誌的名字的索引檔案的位置和名字,預設為資料目錄中的host_name-relay-bin.index

relay-log-info-file = file_name #設定中繼服務用於記錄中繼資訊的檔案,預設為資料目錄中的relay-log.info

relay_log_purge = #設定對不再需要的中繼日誌是否自動進行清理。預設值為on

relay_log_space_limit = 0

#設定用於儲存所有中繼日誌檔案的可用空間大小。預設為0,表示不限定。最大值取決於系統平台位數

max_relay_log_size = #設定從伺服器上中繼日誌的體積上限,到達此限度時其會自動進行中繼日誌滾動。此引數值為0時,mysqld將使用max_binlog_size引數同時為二進位制日誌和中繼日誌設定日誌檔案體積上限

log_error = /mydata/data/mysql.test

.com

.err

#指定錯誤日誌的位置,預設是在資料目錄下,這個位置mysql使用者必須有寫許可權

log_warning = #預設開啟,伺服器執行中的警告日誌也會記錄在錯誤日誌中

慢日誌,記錄了查詢超過限定時間的sql,幫助sql優化。

slow_query_log  =  #是否開啟慢慢查詢日誌,預設是關閉的

slow_query_log_file = /mydata/data/mysql-slow.log #慢查詢日誌的存放位置,預設在資料目錄下

log_query_time = 10 #定義預設的時長,預設時長為10秒

log_query_not_using_indexes = #設定是否將沒有使用索引的查詢操作記錄到慢查詢日誌

log_output = #定義一般查詢日誌和慢查詢日誌的儲存方式,可以是table、file、none,也可以是table及file的組合(用逗號隔開),預設為file。如果組合中出現了none,那麼其它設定都將失效,同時,無論是否啟用日誌功能,也不會記錄任何相關的日誌資訊

show variables like

"general_log%";

setglobal general_log = 'on';

innodb_data_home_dir = /mydata/data

#innodb所有共享表空間資料檔案的目錄路徑,預設在資料目錄下

innodb_data_file_path = ibdata1:

1024m #指定innodb的各個資料檔案及其大小,檔案多於乙個時彼此間用分號隔開

innodb_data_file_path = ibdata2:

50m:autoextend #定義資料大小的增長方式

innodb_log_group_home_dir = /mydata/data

#設定innodb重要日誌檔案的儲存目錄。在預設使用innodb日誌相關的所有變數時,其缺省會在資料目錄中建立兩個大小為5mb的名為ib_logfile0和ib_logfile1的日誌檔案

innodb_log_files_in_group = #設定日誌組中日誌檔案的個數。innodb以迴圈的方式使用這些日誌檔案。預設值為2

innodb_log_file_size = #設定日誌組中每個日誌檔案的大小,單位是位元組,預設值是5mb。較為明智的取值範圍是從1mb到快取池體積的1/n,其中n表示日誌組中日誌檔案的個數。日誌檔案越大,在快取池中需要執行的檢查點刷寫操作就越少,這意味著所需的i/o操作也就越少,然而這也會導致較慢的故障恢復速度

innodb_log_buffer_size = #設定innodb用於輔助完成日誌檔案寫操作的日誌緩衝區大小,單位是位元組,預設為8mb。較大的事務可以借助於更大的日誌緩衝區來避免在事務完成之前將日誌緩衝區的資料寫入日誌檔案,以減少i/o操作進而提公升系統效能。因此,在有著較大事務的應用場景中,建議為此變數設定乙個更大的值

--

log-update

=file_name 如果你不指定file_name,預設使用伺服器的主機名。

log =  #是否啟用查詢日誌,該指令在mysq5.6中已廢棄

general_log = #啟動或關閉查詢日誌,預設是關閉的

general_log_file = /mydata/data/mysql.log #指定查詢日誌的位置,預設在資料目錄下

log_output = #指定存放查詢日誌的位置,可以放在檔案中,也可以放在資料庫的表中,放在表中比放在檔案中更容易檢視

nodejs之日誌管理

不管是什麼專案,日誌一直是乙個重要組成部分,它可以隨時供你檢視重要資料資訊,在nodejs中檢視實時日誌可以用pm2 logs檢視,如果使用者比較多怎麼辦了?如何將正常日誌和錯誤日誌分開?如何對每天的日誌歸檔?下面我們一起來看下。使用log4js建立日誌檔案,新建logs目錄,在目錄下新建chees...

Mysql系列之 日誌

tip 生活不易,碼農辛苦 我是小刀,在網際網路中夾縫求生 我希望你開心 redo log 重做日誌 和binlog 歸檔日誌 redo log 像一塊 粉板 更新的時候,先寫到 redo log 和記憶體裡,這次更新就算是結束了。等到合適的時機再寫到磁碟裡,大大減小了寫磁碟的次數。redo log...

mysql 日記 mysql之日誌

我是李福春,我在準備面試,今天的題目是 mysql的redolog和binlog有什麼區別?答 如下面的 然後我們擴充套件一下,因為日誌主要是記錄的修改日誌,分別加深分析一下 redolog redolog是innodb儲存引擎特有的物理日誌,記錄的是資料頁做了什麼改動。它的儲存空間是固定的,類似乙...