在mysql中日志分為,錯誤日志:-log-err 查詢日志:-log 慢查詢日志:-log-slow-queries 更新日志:-log-update 二進制日志:-log-bin下面我來介紹這四種mysql日志開啟關閉與查看方法.
1.錯誤日志
用–log-error[=file_name]選項來指定 mysqld 保存錯誤日志文件的位置。如果沒有給定 file_name 值,mysqld 使用錯誤日志名 host_name.err 并在數據目錄中寫入日志文件。如果你執行 FLUSH LOGS,錯誤日志用-old 重新命名后綴并且 mysqld 創建一個新的空日志文件。(如果未給出–log-error 選項,則不會重新命名)。
如果不指定–log-error,或者(在Windows中)如果你使用–console 選項,錯誤被寫入標準錯誤輸出 stderr。通常標準輸出為你的終端。
2.通用查詢日志
用–log[=file_name]或-l [file_name]選項啟動它。如果沒有給定 file_name 的值,默認名是 host_name.log。
3.查看日志
查看是否啟用了日志:mysql>show variables like ‘log_%’;
查看當前的日志啟用狀態:mysql> show master status;
顯示二進制日志:mysql> show master logs;
4.查看二進制日志文件用mysqlbinlog,代碼如下:
shell>mysqlbinlog /var/log/mysql/mysql-bin.000001
或者shell>mysqlbinlog /var/log/mysql/mysql-bin.000001 | tail
或者shell>mysqlbinlog /var/log/mysql/mysql-bin.000001 –no-default
如果遇到錯誤提示如下:
/usr/local/mysql/bin/mysqlbinlog: unknown variable ‘default-character-set=utf8′
產生這個問題的原因是因為在my.cnf中的client選項組中添加了如下代碼:
default-character-set=utf8 選項.
mysqlbinlog不支持這個設置,解決辦法有兩個.
1、修改配置文件my.cnf(windows下是my.ini)
注釋掉default-character-set=utf8
2、執行時添加參數–no-default,代碼如下:
shell>mysqlbinlog –no-default /var/log/mysql/mysql-bin.000001 | tail
為了方便查看日志內容可以導出到.sql文件,代碼如下:
- mysqlbinlog ../log-bin/logbin.000001 ->a.sql
- C:/Program Files/MySQL/MySQL Server 5.0/bin>
- C:/Program Files/MySQL/MySQL Server 5.0/bin>mysqlbinlog ../log_bin_ljs/logbin.000001
- /*!40019 SET @@session.max_insert_delayed_threads=0*/;
- /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
- DELIMITER /*!*/;
- # at 4
- #100830 16:30:55 server id 1 end_log_pos 98 Start: binlog v 4, server v 5.0.
- 67-community-nt-log created 100830 16:30:55 at startup
- # Warning: this binlog was not closed properly. Most probably mysqld crashed wri --Vevb.com
- ting it.
- ROLLBACK/*!*/;
- DELIMITER ;
- # End of log file
- ROLLBACK /* added by mysqlbinlog */;
- /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/ ;
- C:/Program Files/MySQL/MySQL Server 5.0/bin>
新聞熱點
疑難解答