您好,登錄后才能下訂單哦!
MySQL具有多種日志,用來記錄mysqld的活動情況,以下為MySQL中的類型及其簡要說明。
日志類型 | 說明 |
---|---|
General query log | 記錄從客戶端獲取到的連接和語句 |
Slow query log | 記錄超過long_query_time時間的查詢 |
Error log | 記錄在mysqld服務啟動、運行或停止時遇到的問題 |
Binary log | 記錄修改數據的語句 |
Relay log | 在復制結構中,從庫從主庫獲取到的數據修改 |
DDL log(metadata log ) | DD語句執行的元數據操作 |
默認情況下,除了Windows系統上的Error log,其他日志都是不可用的。
下面將按照日志的共同特征、每個日志的特點來討論這些日志的情況
默認情況下,除了Windows系統上的Error log,其他日志都是不可用的,要開啟這些日志,需要在數據庫啟動時指定相應的選項
日志類型 | 開啟選項 |
---|---|
General query log | --general_log |
Slow query log | --slow_query_log |
Binary log | --log-bin |
Error log | --log-error |
Relay log | 不需要額外開啟 |
DDL log | 不需要額外開啟 |
general query log和slow query log也可以在數據庫運行時進行啟用或禁用。可以通過設置全局變量general_log和slow_query_log來控制他們的啟用和禁用,例如:
SET GLOBAL general_log = 'OFF';
SET GLOBAL slow_query_log = 'ON';
默認情況下,日志都存放在數據庫的數據目錄下。可以通過相應的選項來修改位置和名稱。具體可以參考下表,在下表中,host_name代表數據庫服務器的主機名,nnnnnn代表一個6位的整數序列。file_name和base_name是指定的文件名稱。可以通過在file_name或base_name中使用絕對路徑來修改日志存放的位置。
日志類型 | 默認名稱 | 相應選項 |
---|---|---|
General query log | host_name.log | --general_log_file=file_name |
Slow query log | host_name-slow.log | --slow_query_log_file=file_name |
Binary log | pif-file-bin | --log_bin=base_name |
Error log | host_name.err | --log_error=file_name |
Relay log | hostname-relay-bin.nnnnnn | --relay-log=file_name |
DDL log | ddl_log.log | 無法修改 |
general query log和slow query log除了記錄在日志文件中以外,也可以記錄在日志表中。日志表在mysql庫中。名稱分別為general_log和slow_log。可以通過--log-output來指定將這兩種日志的存放位置,位置可以是表、文件、或者表和文件。
Binary log日志文件的默認名稱是pid-file的值加上-bin后綴。默認pid-file的值是服務器的主機名。但是不建議使用默認值,當使用默認值時,如果服務器的主機名發生變更,Binary log日志文件的名稱也需要進行相應更改。
日志刷新會關閉然后重新打開日志文件。對于binary log和relay log,還會創建一個新的日志文件。
日志刷新發生在以下情況下:
1.使用FLUSH LOGS語句
2.使用帶有flush-logs或者reflush選項的mysqladmin命令
3.使用帶有--flush-logs或者--master-data選項的mysqldump命令
FLUSH LOGS語句會關閉并重新打開所有的日志文件,如果需要只刷新某種日志文件,需要指定日志類型,例如:
FLUSH SLOW LOGS
日志類型 | 記錄時間 |
---|---|
generl query log | 在服務器接收到客戶端發來的命令時就寫入到日志中。 |
slow query log | 在語句執行完畢,釋放鎖之后寫入到日志中。 |
binary log | 在語句執行完畢,釋放鎖之前寫入到日志中。 |
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。