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