mysql 日誌比較好 MySQL日誌比較

2021-10-19 01:40:37 字數 2224 閱讀 7360

1、mysql日誌比較

日誌檔案

檔案中的資訊

作用錯誤日誌

記錄啟動、執行或停止mysqld時出現的問題。

系統故障時定位故障原因

查詢日誌

記錄建立的客戶端連線和執行的語句。

記錄資料庫發生的所有操作

二進位制日誌

記錄所有更改資料的語句。

資料庫資料備份和複製

慢日誌記錄所有執行時間超過long_query_time秒的所有查詢或不使用索引的查詢。

定位系統效能問題,查詢有效能問題的sql語句

2、錯誤日誌

使用:可以用--log-error[=file_name]選項來指定mysqld儲存錯誤日誌檔案的位置。如果沒有給定file_name值,mysqld使用錯誤日誌名host_name.err(host_name為主機名)並在資料目錄(datadir)中寫入日誌檔案。

清理:如果你執行flushlogs,錯誤日誌用-old重新命名字尾並建立乙個新的空日誌檔案:

shell>mv hostname.err  hostname-old.err

shell>mysqladmin flush-logs

shell>cp hostname-old.errto-backup-directory

shell>rm hostname-old.err

3、查詢日誌

作用:查詢日誌記錄了客戶端的所有連線和語句(二進位制日誌不包括查詢語句。)當你想確切地知道該客戶端傳送給mysqld的語句時,該日誌可能非常有用。

使用:可以用--log[=file_name]或-l [file_name]選項啟動mysqld的查詢日誌服務。如果沒有給定file_name的值,預設名是host_name.log。

建議:不要開啟此日誌,以免影響系統整體效能。

清理:同錯誤日誌。

4、慢速查詢日誌

作用:慢查詢日誌記錄所有執行時間超過long_query_time秒的sql語句的日誌檔案。獲得初使表鎖定的時間不算作執行時間。

使用:可以用--log-slow-queries[=file_name]選項啟動,如果沒有給出file_name值,預設為host_name-slow.log。如果給出了檔名,但不是絕對路徑名,檔案則寫入資料目錄。

檢視:使用mysqldumpslow命令獲得日誌中顯示的查詢摘要來處理慢查詢日誌。

清理:同錯誤日誌。

5、二進位制日誌

作用:二進位制日誌記錄所有更新了資料或者已經潛在更新了資料(例如,沒有匹配任何行的乙個delete)的所有語句。二進位制日誌的主要目的是在恢復使能夠最大可能地更新資料庫,因為二進位制日誌包含備份後進行的所有更新,還用於在主復**務器上記錄所有將傳送給從伺服器的語句。

使用:可以用--log-bin[=file_name]選項啟動。如果未給出file_name值,預設名為-bin後面所跟的主機名。如果給出了檔名,但沒有包含路徑,則檔案被寫入資料目錄(datadir)。如果你在日誌名中提供了副檔名(例如,--log-bin=file_name.extension),則副檔名被悄悄除掉並忽略。

清理:執行mysqladminflush-logs然後刪除三天前的所有日誌。手動刪除可以使用purge master logs,該語句還會安全地更新二進位制日誌索引檔案(可以採用日期引數)。自動刪除可以選擇設定--expire_logs_days=day,day天以前的資料會自動刪除。

其他:mysqld在每個二進位制日誌名後面新增乙個數字副檔名。每次你啟動伺服器或重新整理日誌時該數字則增加。如果當前的日誌大小達到max_binlog_size,還會自動建立新的二進位制日誌。如果你正使用大的事務,二進位制日誌還會超過max_binlog_size:事務全寫入乙個二進位制日誌中,絕對不要寫入不同的二進位制日誌中。為了能夠知道還使用了哪個不同的二進位制日誌檔案,mysqld還建立乙個二進位制日誌索引檔案,包含所有使用的二進位制日誌檔案的檔名。預設情況下與二進位制日誌檔案的檔名相同,擴充套件名為'.index'(可以用--log-bin-index[=file_name]選項更改二進位制日誌索引檔案的檔名)。

對於事務表,由於在執行完commit之前,mysqld將整個事務寫入二進位制日誌。當處理事務的執行緒啟動時,它為緩衝查詢分配binlog_cache_size大小的記憶體。如果語句大於該值,執行緒則開啟臨時檔案來儲存事務。執行緒結束後臨時檔案被刪除。將binlog_cache_size調節到足夠大的值,可以避免使用臨時檔案。(注:binlog_cache_use狀態變數顯示了緩衝區儲存語句的事務的數量。binlog_cache_disk_use狀態變數顯示了事務中實際上有多少必須使用臨時檔案。)

還是 push 比較好

以前在 js 中往乙個陣列裡 放數 用的是 a i i 的形式,就像這樣 var testarray new array for var i 1 i m i 這樣寫可能會引起問題,看似 testarray 0 沒有被賦值,但是此時賦值完畢以後你會發現 testarray.length 的值為 m 1...

學習mysql比較好一些書籍

sql 入門 在準備成為mysql dba之前,能熟練的編寫sql是乙個必要條件。exists 和 join之間的等價轉換 基本的行列轉換 sql 迴圈等的熟練掌握對之後的運維和調優工作都有很大的幫助。sql cookbook 一本循序漸進的sql指導手冊。每一種業務需求,書中都用mysql,sql...

深入分析mysql索引何時建立比較好

索引可以提高資料的檢索效率,也可以降低資料庫的io成本,並且索引還可以降低資料庫的排序成本。排序分組操作主要消耗的就是cpu資源和記憶體,所以能夠在排序分組操作中好好的利用索引將會極大地降低cpu資源的消耗。本篇文章將簡單的分析一下如何正確建立mysql資料索引。如何判定是否需要建立索引?1 較頻繁...