PS5獨佔《死亡迴歸》現身Steam資料庫 代號Oregon
一、錯誤日誌
錯誤日誌是 MySQL 中最重要的日誌之一,它記錄了當 mysqld 啟動和停止時,以及伺服器在執行過程中發生任何嚴重錯誤時的相關資訊。當資料庫出現任何故障導致無法正常使用時,建議首先檢視此日誌。
該日誌是預設開啟的,預設存放目錄 /var/log/,預設的日誌檔名為 mysqld.log 。檢視日誌
show variables like '%log_error%';
二、二進位制日誌
1.介紹
二進位制日誌(BINLOG)記錄了所有的 DDL(資料定義語言)語句和 DML(資料操縱語言)語句,但不包括資料查詢(SELECT、SHOW)語句。
作用:①. 災難時的資料恢復;②. MySQL的主從複製
show variables like '%log_bin%';
引數說明:
(1)log_bin_basename:當前資料庫伺服器的binlog日誌的基礎名稱(字首),具體的binlog檔名需要再該basename的基礎上加上編號(編號從000001開始)。
(2)log_bin_index:binlog的索引檔案,裡面記錄了當前伺服器關聯的binlog檔案有哪些。
2. 日誌格式
MySQL伺服器中提供了多種格式來記錄二進位制日誌,具體格式及特點如下:
show variables like '%binlog_format%';
修改日誌格式需要編輯配置檔案 my.cnf 並重啟mysql
3. 日誌檢視
由於日誌是以二進位制方式儲存的,不能直接讀取,需要通過二進位制日誌查詢工具 mysqlbinlog 來檢視,具體語法:
mysqlbinlog [ 引數選項 ] logfilename 引數選項: -d 指定資料庫名稱,只列出指定的資料庫相關操作。 -o 忽略掉日誌中的前n行命令。 -v 將行事件(資料變更)重構為SQL語句 -vv 將行事件(資料變更)重構為SQL語句,並輸出註釋資訊
4.日誌刪除
對於比較繁忙的業務系統,每天生成的binlog資料巨大,如果長時間不清除,將會佔用大量磁碟空間。可以通過以下幾種方式清理日誌:
也可以在mysql的配置檔案中配置二進位制日誌的過期時間,設定了之後,二進位制日誌過期會自動刪除。
show variables like '%binlog_expire_logs_seconds%';
三、查詢日誌
查詢日誌中記錄了客戶端的所有操作語句,而二進位制日誌不包含查詢資料的SQL語句。預設情況下,查詢日誌是未開啟的。
SHOW VARIABLES LIKE '%general%';
修改配置檔案my.cnf
四、慢查詢日誌
慢查詢日誌記錄了所有執行時間超過引數 long_query_time 設定值並且掃描記錄數不小於 min_examined_row_limit 的所有的SQL語句的日誌,預設未開啟。long_query_time 預設為 10 秒,最小為 0, 精度可以到微秒。
如果需要開啟慢查詢日誌,需要在MySQL的配置檔案 /etc/my.cnf 中配置如下引數:
#慢查詢日誌 slow_query_log=1 #執行時間引數 long_query_time=2
預設情況下,不會記錄管理語句,也不會記錄不使用索引進行查詢的查詢。可以使用 log_slow_admin_statements和 更改此行為 log_queries_not_using_indexes,如下所述。
#記錄執行較慢的管理語句 log_slow_admin_statements =1 #記錄執行較慢的未使用索引的語句 log_queries_not_using_indexes = 1