MySQL日志设置及查看方法

MySQL有以下几种日志:
错误日志: -log-err
查询日志: -log
慢查询日志: -log-slow-queries
更新日志: -log-update
二进制日志: -log-bin
默认情况下,所有日志创建于mysqld数据目录中。通过刷新日志,你可以强制
mysqld来关闭和重新打开日志文件(或者在某些情况下切换到一个新的日志)。当你执行一个FLUSH
LOGS语句或执行mysqladmin flush-logs或mysqladmin refresh时,出现日志刷新

MySQL日志设置及查看方法,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
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”

开启慢查询
long_query_time =2 –是指执行超过多久的sql会被log下来,这里是2秒
log-slow-queries= /usr/local/mysql/log/slowquery.log
–将查询返回较慢的语句进行记录
log-queries-not-using-indexes = nouseindex.log
–就是字面意思,log下来没有使用索引的query
log=mylog.log –对所有执行语句进行记录
windows下开启mysql日志:
在[mysql]下加入这些(基本上等于加在最后面):
必发88官网,log-error=
#Enter a name for the query log file. Otherwise a default name will be
used.
#注:(写成txt文件editplus可以及时重载,不过有时要放在C盘下editplus才可以及时重载)
log= c:/mysql_query.log.txt
#Enter a name for the slow query log file. Otherwise a default name
will be used.
log-slow-queries=
#Enter a name for the update log file. Otherwise a default name will be
used.
log-update=
#Enter a name for the binary log. Otherwise a default name will be
used.
log-bin=

MySQL有以下几种日志: 错误日志: -log-err 查询日志: -log 慢查询日志:
-log-slow-queries 更新日志: -l…

查看是否启用了日志

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。

mysql>show variables like ‘log_bin’;

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

mysql> show master status;

在配置文件中指定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
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”

复制代码 代码如下:

开启慢查询
long_query_time =2 –是指执行超过多久的sql会被log下来,这里是2秒
log-slow-queries= /usr/local/mysql/log/slowquery.log
–将查询返回较慢的语句进行记录
log-queries-not-using-indexes = nouseindex.log
–就是字面意思,log下来没有使用索引的query
log=mylog.log –对所有执行语句进行记录
windows下开启mysql日志:
在[mysql]下加入这些(基本上等于加在最后面):
log-error=
#Enter a name for the query log file. Otherwise a default name will be
used.
#注:(写成txt文件editplus可以及时重载,不过有时要放在C盘下editplus才可以及时重载)
log= c:/mysql_query.log.txt
#Enter a name for the slow query log file. Otherwise a default name
will be used.
log-slow-queries=
#Enter a name for the update log file. Otherwise a default name will be
used.
log-update=
#Enter a name for the binary log. Otherwise a default name will be
used.
log-bin=

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 下。

日志文件类型概述:   
1.错误日志   记录启动、运行或停止mysqld时出现的问题。
My.ini配置信息:

复制代码 代码如下:

#Enter a name for the error log file.   Otherwise a default name will
be used.
#log-error=d:/mysql_log_err.txt

2.查询日志    记录建立的客户端连接和执行的语句。
My.ini配置信息:

复制代码 代码如下:

#Enter a name for the query log file. Otherwise a default name will be
used.
#log=d:/mysql_log.txt

3.更新日志   记录更改数据的语句。不赞成使用该日志。
My.ini配置信息:

复制代码 代码如下:

#Enter a name for the update log file. Otherwise a default name will be
used.
#log-update=d:/mysql_log_update.txt

4.二进制日志    记录所有更改数据的语句。还用于复制。
My.ini配置信息:

复制代码 代码如下:

#Enter a name for the binary log. Otherwise a default name will be
used.
#log-bin=d:/mysql_log_bin

5.慢日志   
记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。
My.ini配置信息:

复制代码 代码如下:

#Enter a name for the slow query log file. Otherwise a default name
will be used.
#long_query_time =1
#log-slow-queries= d:/mysql_log_slow.txt

linux下:

在[mysqld] 中輸入

复制代码 代码如下:

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下

在[mysqld] 中輸入

复制代码 代码如下:

##启动日志
log=”E:/wamp/MySql/mysql_log/mysql.log”
##错误日志
log-error=”E:/wamp/MySql/mysql_log/mysql.logerror.log”
##是指执行超过多久的sql会被log下来,这里是2秒
long_query_time=2
##慢查询日志
log-slow-queries= “E:/wamp/MySql/mysql_log/slowquery.log”
long_query_time =2 –是指执行超过多久的sql会被log下来,这里是2秒
log-slow-queries= /usr/local/mysql/log/slowquery.log
–将查询返回较慢的语句进行记录
log-queries-not-using-indexes = nouseindex.log
–就是字面意思,log下来没有使用索引的query
log=mylog.log –对所有执行语句进行记录

您可能感兴趣的文章:

  • Linux下安装mysql-5.6.4
    的图文教程
  • linux安装mysql和使用c语言操作数据库的方法
    c语言连接mysql
  • SUSE Linux下源码编译方式安装MySQL
    5.6过程分享
  • Linux下编译安装Mysql
    5.5的简单步骤
  • 最新Linux系统下安装MySql
    5.7.17全过程及注意事项
  • Linux下编译安装MySQL-Python教程
  • Linux下安装mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz
  • Linux下安装Mysql多实例作为数据备份服务器实现多主到一从多实例的备份
  • Linux下rpm方式安装mysql教程
  • linux采用binary方式安装mysql