標籤:
1.error log
錯誤記錄檔, 記錄mysql服務啟動時出現的問題, 文字檔
[mysqld_safe] #注意是寫在這裡
log-error=/var/log/mysqld/mysql-error.log -- mysqld檔案夾要存在且chown mysql
該日誌無法關掉
2.access log
查詢(訪問)日誌, 記錄用戶端執行的所有語句,文字檔
對於訪問頻繁的系統,對效能影響較大, 建議關閉
showvariables like ‘%general_log%’;
[mysqld]
general_log=on
general_log_file=/var/log/mysqld/mysql-access.log ----連上後作一些操作, 然後查看關閉就 #注釋這2行
3.bin log
二進位日誌, 記錄所有的ddl、dml語句, 不記select, 還用於複製, 非文字檔
[mysqld]
log_bin=/var/log/mysqld/mysql-bin-- 記錄檔的首碼
服務重啟1次,記錄檔就新增1個(如mysql-bin.000002)
flushlogs;也會新增一個記錄檔
記錄檔的大小超過了max_binlog_size(單位是Byte,預設1GB), 也會新增一個記錄檔
顯示記錄檔:
showmaster logs;
showmaster status;
show variables like "%log_bin%"
查看二進位日誌:
mysqlbinlogmysql-bin.000001
mysqlbinlog mysql-bin.000001 -d ds -- 只顯示ds資料庫的
--start-datetime=”2012-10-10 9:10:0”--stop-datetime=”2012-10-10 9:30:59” --只顯示這段時間之間的日誌
--start-position="123"--stop-position="456" -- at後的數字, 繁忙的線上系統, 同一時刻多人操作, 即同一時刻發生有多個dml,這時可以用position來區分
如果唯寫開始, 則到日誌最尾部, 如果唯寫結束, 則從日誌最開頭
-------------------------------------------------------------------------------------------------------------------------------
定期刪日誌檔案是維護MySQL的一個重要工作內容
方法1:
reset master;
刪除所有記錄檔,產生1個新記錄檔, 重新從000001開始編號
方法2:
purge master logs to ‘mysql-bin.000006‘;
編號000006之前的所有記錄檔被刪除
方法3:
[mysqld]
expire_logs_days=3(天) -- 重啟服務, 從產生到過了3天后該檔案將會被自動刪除;預設是0,不刪除
其他一些選項
[mysqld]
binlog_do_db=db1
binlog_do_db=db2 -- 沒有顯式指定的資料庫將不會被記錄
binlog_ignore_db=db1
binlog_ignore_db=db2 -- 沒有顯式指定的資料庫將會被記錄
set sql_log_bin = 0; -- 禁止將自己的操作記入二進位日誌
4.slow log
慢日誌, 文字檔, 記錄所有執行時間超過long_query_time秒的語句 增刪改查都會記
慢日誌對於我們發現有效能問題的語句很有協助,建議開啟並經常查看分析
[mysqld]
long_query_time=2(秒)
--5.5
log_slow_queries=/var/log/mysqld/mysql-slow.log
--5.6
slow_query_log=on
slow_query_log_file=/var/log/mysqld/mysql-slow.log
來自為知筆記(Wiz)
6. mysql log