mysql相关日志汇总

日志作为重要的查询问题的手段。所以尽量记录上自己须要的日志。以供自己查询一些问题。

MySQL有下面几种日志:

错误日志: -log-err
查询日志: -log
慢查询日志: -log-slow-queries
更新日志: -log-update
二进制日志: -log-bin
默认情况下,全部日志创建于mysqld数据文件夹中。通过刷新日志,你能够强制 mysqld来关闭和又一次打开日志文件(或者在某些情况下切换到一个新的日志)。

当你运行一个FLUSH LOGS语句或运行mysqladmin flush-logs或mysqladmin refresh时,出现日志刷新


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. 慢速查询日志                                                            
用--log-slow-queries[=file_name]选项启动时。mysqld 写一个包括全部运行时间超过long_query_time秒的SQL语句的日志文件.假设没有给出file_name值,默认未主机名,后缀为 -slow.log。假设给出了文件名称。但不是绝对路径名,文件则写入数据文件夹。

3. 更新日志                                                              
用--log-update[=file_name]选项启动,不推荐使用.


是否启用了日志
mysql>show variables like 'log_%';
如何知道当前的日志
mysql> show master status;
显示二进制日志数目
mysql> show master logs;
看二进制日志文件用mysqlbinlog
shell>mysqlbinlog mail-bin.000001
或者shell>mysqlbinlog mail-bin.000001 | tail

在配置文件里指定log的输出位置.
Windows:Windows 的配置文件为 my.ini。一般在 MySQL 的安装文件夹下或者 c:Windows 下。


Linux:Linux 的配置文件为 my.cnf ,一般在 /etc 下。


在linux下:
Sql代码
在[mysqld] 中输入
log
log-error=/usr/local/mysql/log/error.log
log=/usr/local/mysql/log/mysql.log
long_query_time=2 --是指运行超过多久的sql会被log下来。这里是2秒
log-slow-queries= /usr/local/mysql/log/slowquery.log
在[mysqld] 中输入 #log
log-error=/usr/local/mysql/log/error.log
log=/usr/local/mysql/log/mysql.log
long_query_time=2
log-slow-queries= /usr/local/mysql/log/slowquery.log

windows下:
Sql代码
 在[mysqld] 中输入
log
log-error="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log"
log="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log"
long_query_time=2
log-slow-queries= "E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log"
 在[mysqld] 中输入 #log
log-error="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log"
log="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log"
long_query_time=2

log-slow-queries= "E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log"


大家能够更具自己的实际须要加入自己想要的日志,以便自己做分析使用

原文地址:https://www.cnblogs.com/zfyouxi/p/5091533.html