我的服務器的MySQL慢速查詢日誌日益增長(現在37 MB),所以我想旋轉它。如果我將當前日誌文件移動到另一個文件夾,那麼MySQL會自動創建另一個日誌文件?想想看,我正在刪除當前的日誌文件,那麼當另一個緩慢的查詢出現時,MySQL會自動創建一個新的日誌文件嗎?旋轉mysql緩慢查詢日誌
感謝
我的服務器的MySQL慢速查詢日誌日益增長(現在37 MB),所以我想旋轉它。如果我將當前日誌文件移動到另一個文件夾,那麼MySQL會自動創建另一個日誌文件?想想看,我正在刪除當前的日誌文件,那麼當另一個緩慢的查詢出現時,MySQL會自動創建一個新的日誌文件嗎?旋轉mysql緩慢查詢日誌
感謝
您可以使用logrotate
腳本定期旋轉MySQL的日誌,並可能保留以前的日誌(以節省空間)的數量有限。您可以使用您喜歡的任何時間表進行配置。
就個人而言,我發現它易於使用Webmin GUI
您可以設置每天的cron將被資平,清空日誌文件配置:
zip /tmp/$(date +%Y-%m-%d)-slow-query-log.zip /var/lib/mysql/slow-queries.log
cat /dev/null > /var/lib/mysql/slow-queries.log
當然,如果你慢查詢日誌有你每天(或其他人)應該調查並修復這些不好的查詢,所以記錄的內容太多:)
這通常是不明智的。請參閱http://www.mysqlperformanceblog.com/2013/04/18/rotating-mysql-slow-logs-safely/和http://dev.mysql.com/doc/refman/5.1/en/log-file- maintenance.html。 – Neek 2013-07-29 03:46:22
你簡直不能使用logrotate來做到這一點,你必須首先更改my.cnf中的文件名,做任何想做的事加載mysql。
如果您需要logrotate方式,那麼您必須禁用當時的慢速查詢日誌。
perrota團隊建議使用logrotate,併爲我工作。
/var/mysql/slow_query.log {
nocompress
create 660 mysql mysql
size 1G
dateext
missingok
notifempty
sharedscripts
postrotate
/usr/local/bin/mysql -e 'select @@global.long_query_time into @lqt_save; set global long_query_time=2000; select sleep(2); FLUSH LOGS; select sleep(2); set global [email protected]_save;'
endscript
rotate 150
}
我在CentOS上安裝了webmind,但無法打開它。它說webmin服務正在運行,我可以通過https://www.myserver.com:10000/訪問它,但是當我在瀏覽器中打開它時,什麼都不會發生。我嘗試過使用和不使用https。 SSL安裝在服務器上。 – Ali 2011-01-05 07:37:37
然後,您應該首先解決webmin問題,也許在superuser.com上詢問。或者,也許,你應該問**如何設置** logrotate條目;) – 2011-01-05 07:40:19
好吧,我設法運行webmin。我還在日誌旋轉中添加了MySQL,讓我們看看會發生什麼。 – Ali 2011-01-14 07:37:24