a、錯誤日誌:記錄啟動、執行或停止mysqld時出現的問題。
b、通用日誌:記錄已建立的用戶端連線和執行的語句。
c、更新日誌:記錄變更資料的語句。此日誌在MySQL 5.1中已不再使用。
d、二進位日誌:記錄所有變更資料的語句。也用於複製。
e、慢查詢日誌:記錄所有執行時間超過long_query_time秒的所有查詢或不使用索引的查詢。
f、Innodb日誌:innodb redo log
在不同情況下,錯誤日誌會記錄在不同的位置。如果未在設定檔中指定檔名,則該檔案的預設名稱是主機名.err。
在MySQL5.6的RPM發布方式中,錯誤日誌預設會被放置在/var/log/mysqld.log。
可以透過my.cnf檔案進行設定:
[mysqld_safe] log-error=/var/log/mysqld.log
使用vi /etc/my.cnf開啟設定檔
#Note:修改參數檔後重新啟動MySQl服務才能讓修改生效。
MySQL的錯誤日誌是以文字形式儲存的。可以使用各種文字相關指令直接查看。
perror指令可用來查詢錯誤代碼的意義。例如:
perror 1006
使用tail -n 15 /var/log/mysqld.log查看錯誤日誌
需要關注日誌產生的時間和級別,通常日誌級別分為以下幾種:
debug、info、note、warning、error、critical
錯誤日誌可能會持續的成長。因此有必要周期性的維護。
建議的刪除方法:
#echo > /var/log/mysqld.log
記錄MySQL執行過的查詢
#開啟通用查詢日誌
##MySQL的通用查詢日誌預設是不開啟的。 當需要進行取樣分析時手動開啟。 建議使用方法1,因為並不需要持久化的設置,而且修改設定檔需要重啟MySQL服務开启方法1:SET GLOBAL general_log=1; 关闭:SET GLOBAL general_log=0; 开启方法2:编辑配置文件 /etc/my.cnf [mysqld] general-log-file[=path/[filename]] general-log=1
#set global general_log=0;删除前先关闭 #rm -rf /var/lib/mysql/hostname.log
shell> mv hostname.log hostname-old.log shell> mysqladmin flush-logs shell> cp hostname-old.log to-backup-directory shell> rm hostname-old.log
以上是MySQL錯誤日誌與通用查詢實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!