mysql日誌類別及使用

my.ini裏面可以找到

  1. # 在[mysqld] 中輸入
   2. #log
   3. log-error=/usr/local/mysql/log/error.log
   4. log=/usr/local/mysql/log/mysql.log
   5. long_query_time=2
   6. log-slow-queries= /usr/local/mysql/log/slowquery.log
分別對應每一種日誌以及存放日誌的路徑。

有以下幾種日誌

   錯誤日誌:     -log-err
   查詢日誌:     -log
   慢查詢日誌:   -log-slow-queries
   更新日誌:     -log-update
   二進制日誌: -log-bin
是否啓用了日誌
mysql>show variables like 'log_%';

怎樣知道當前的日誌
mysql> show master status;

顯示二進制日誌數目
mysql> show master logs;

看二進制日誌文件用mysqlbinlog
mysqlbinlog mail-bin.000001

需要注意:

默認情況下mysql不會記錄慢查詢日誌。
在my.ini中加上下面兩句話
log-slow-queries = D:\wamp\mysql_slow_query.log
long_query_time=默認爲10可以
set ‘long_query_time’=5設置。執行耗時sql語句時,慢查詢日誌會記錄這些sql語句。

執行增量備份時,對ddl和dml語句進行二進制備份。且5.0無法增量備份,5.1後可以。
如果要實現增量備份需要在my.ini文件中配置備份路徑即[mysqld]下的log-bin='d:/log/mylog'
重啓mysql服務器,增量備份就啓動了。
會在指定目錄下生成兩個文件mylog.index記錄索引,mylog.000001就是記錄二進制的詳細信息

如果要查看必須使用mysqlbinlog工具查看。在cmd中進入mysql目錄下的bin中 使用msyqlbinlog
後面加上mylog.000001,可以看到所有ddl和dml操作,且每一個操作都有具體的位置和時間點的記錄。

隨着時間的推移,二進制文件裏面的數據越來越大,所以要定期的做一些清理工作。
reset master 可以刪除列於索引文件中的所有二進制日誌,把二進制日誌索引文件重新設置爲空,並創建一個新的二進制日誌文件
PURGE {MASTER | BINARY} LOGS TO 'log_name'
PURGE {MASTER | BINARY} LOGS BEFORE 'date'
用於刪除列於在指定的日誌或日期之前的日誌索引中的所有二進制日誌。這些日誌也會從記錄在日誌索引文件中的清單中被刪除,這樣被給定的日誌成爲第一個。
設置my.ini中的參數[mysqld]下的-EXPIRE_LOGS_DAYS。此參數是設置日誌的過期天數,過期的日誌將會被自動刪除,


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章