這是MySQL 5實力養成暨評量裡的2-17.『MySQL Administrator的Server Logs記載哪幾種系統Log?』
答案:(B)Error Log(C)Slow Log(D)General Log
開始注意到日誌檔案,應該是前些日子在匹夫匹婦遊韓國-Day 1☼釜山✈金海機場⌂愛麗舍汽車旅館 ㊉時,發現工作達人的資料庫連線有問題,回來後仔細的檢查才發現系統空間不足,而空間不足的原因就是日誌檔案太大了,這時才意會到日誌檔案是這麼地重要。但是呢,ㄚ琪並沒有很深入地瞭解MySQL的日誌檔案,總歸一句話,不在MySQL的管理工作崗位上,只在MySQL的使用工作上,是不會對MySQL有長進的。
關於這題的解答,可以見MySQL 5.7 Reference Manual :: 5 MySQL Server Administration :: 5.2 MySQL Server Logs
或簡體手冊 MySQL 5.1参考手册 :: 5. 数据库管理::5.11. MySQL日志文件
轉譯成中文如下:
MySQL有幾個不同的日誌檔案,可以幫助您找出mysqld內部發生的事情:
日誌檔案 | 記入檔案中的訊息類型 |
錯誤日誌(Error log) | 記錄開啟、執行與關閉mysqld時出現的問題。 |
查詢日誌(General query log) | 記錄與用戶端連線建立,及從用戶端收到的敘述。 |
更新日誌 | 記錄更改資料的敘述。不贊成使用該日誌。 |
二進制日誌 | 記錄所有更改資料的敘述。還用於複製。 |
慢日誌(Slow query log) | 記錄所有執行時間超過long_query_time指定秒數的query指令或不使用索引的query指令。 |
預設情況下,所有日誌建立於mysqld的data目錄中。通過刷新日誌,您可以強制 mysqld來關閉和重新打開日誌檔案(或者在某些情況下切換到一個新的日誌)。當您執行一個FLUSH LOGS語句或執行mysqladmin flush-logs或mysqladmin refresh時,出現日誌刷新。參見13.5.5.2節,「FLUSH語法」。
如果您正使用MySQL複製功能,從複製伺服器將維護更多日誌檔案,被稱為接替日誌。相關討論參見第6章:MySQL中的複製。
接下來這一題:
來自MySQL 5實力養成暨評量裡的9-14.『下列敘述哪些是正確的?』
答案:(A)MySQL伺服器的開啟、執行與關閉的紀錄是儲存於error log (B)所有更改資料的敘述會被紀錄在binary log (C)超過long_query_time指定秒數的query指令,或者沒有建立索引(index)的query指令,會被紀錄到slow log (D)與用戶端的連線建立,及從用戶端收到的敘述會被紀錄到general query log