在mysql中,最基本的日誌類型有5種,分別是:錯誤日誌、二進制日誌、查詢日誌,慢查詢日誌和中繼日誌
首先確認日誌是否啓用
show variables like 'log_bin';
如果啓用了,既值爲ON日誌文件就在mysql安裝目錄下的data目錄下
開啓mysql日誌
在mysql配置文件中my.ini(在[mysqlld]下方加入)
log="D:/phpstudy/MySQL/logs/mysql.log"
log-error="D:/phpstudy/MySQL/logs/error.log"
log-slow-queries="D:/phpstudy/MySQL/logs/slow.log"
long_query_time=1 #1秒
也可以使用sql語句進行修改
show variables like "%slow%";
set global log_slow_queries=on;
set global slow_query_log=on;
set global long_query_time=0.1; #設置大於0.1s的sql語句記錄下來
重啓mysql數據庫
一、錯誤日誌
the error log
記錄數據庫啓動、運行以及停止過程中的錯誤信息
查看警告信息:
show variables like 'log%';
如果log_warnings爲1,說明警告信息也寫到了錯誤日誌中
my.ini配置信息:
log-error="D:/phpstudy/MySQL/logs/error.log"
二、二進制日誌
1、做即時點恢復(基於時間點的回覆)
2、複製(將主服務器發生的任何改變複製到從服務器上保證數據一致)
//二進制日誌存儲的信息是每一個明確或潛在的有可能使數據庫中的數據發生改變的sql語句
查看二進制日誌:
show variables like '%bin%';
結果集中"log_bin"的值爲on,則爲開啓
show binary logs;
//二進制文件不是單獨的一個,查看當前數據庫正在進行的二進制日誌文件:
show master status;
二進制日誌格式:
1、基於語句的,記錄sql語句
2、基於行的,記錄sql語句執行結果
3、混合的
show binlog events in 'bin_log_name' from 107;
查看二進制日誌從某個位置發生改變的內容
my.ini配置信息:
log-bin="D:/phpstudy/MySQL/logs/binlog/bin"
查看二進制文件:mysqlbinlog
三、查詢日誌
查看查詢日誌
show variables like 'general_log'
四、慢查詢日誌
五、中繼日誌