程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL日志筆記

MySQL日志筆記

編輯:MySQL綜合教程


MySQL日志筆記   1、MySQL日志比較 日志文件 文件中的信息 作用 錯誤日志 記錄啟動、運行或停止mysqld時出現的問題。 系統故障時定位故障原因 查詢日志 記錄建立的客戶端連接和執行的語句。 記錄數據庫發生的所有操作 二進制日志 記錄所有更改數據的語句。 數據庫數據備份和復制 慢日志  www.2cto.com   記錄所有執行時間超過long_query_time秒的所有查詢或不使用索引的查詢。 定位系統性能問題,查找有性能問題的SQL語句
  2、錯誤日志 作用:錯誤日志文件包含了當mysqld啟動和停止時,以及服務器在運行過程中發生任何嚴重錯誤時的相關信息。 使用:可以用--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。 建議:不要打開此日志,以免影響系統整體性能。 清理:同錯誤日志。  www.2cto.com   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天以前的數據會自動刪除。  www.2cto.com  
  其他: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狀態變量顯示了事務中實際上有多少必須使用臨時文件。)     作者 xinhanggebuguake

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved