在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:/ProgramFiles/MySQL/MySQLServer5.0/bin>
- C:/ProgramFiles/MySQL/MySQLServer5.0/bin>mysqlbinlog../log_bin_ljs/logbin.000001
- /*!40019SET@@session.max_insert_delayed_threads=0*/;
- /*!50003SET@OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
- DELIMITER/*!*/;
- #at4
- #10083016:30:55serverid1end_log_pos98Start:binlogv4,serverv5.0.
- 67-community-nt-logcreated10083016:30:55atstartup
- #Warning:thisbinlogwasnotclosedproperly.Mostprobablymysqldcrashedwri--phpfensi.com
- tingit.
- ROLLBACK/*!*/;
- DELIMITER;
- #Endoflogfile
- ROLLBACK/*addedbymysqlbinlog*/;
- /*!50003SETCOMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
- C:/ProgramFiles/MySQL/MySQLServer5.0/bin>