mysql 日记

mysql 日志

实际一点:

先以window为环境:

window下的日志

日志文件类型概述:  

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下的配置

代码

在linux下:

Sql代码

   1. # 在[mysqld] 中輸入

   2. #log

   3. log-error=/usr/local/mysql/log/error.log

   4. log=/usr/local/mysql/log/mysql.log

   5. long_query_time=2

   6. 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代码

   1. # 在[mysqld] 中輸入

   2. #log

   3. log-error=”E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log”

   4. log=”E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log”

   5. long_query_time=2

   6. 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 –对所有执行语句进行记录

日志的存放:默认情况下,当开启时,所有的日志都存放在DataDir目录下. 如果没有指定名称的话,它会以后主机名为名称. 如主机名为songcomputer,则相关就的日志为songcomputer.log文件.

Mysql日志的关闭与开启:

使用以下命令查看是否启用了日志

mysql>show variables like ‘log_%’;

凡Value值为OFF的表示未开启服务,若要开启只需要将上的my.ini配置信息写入(my.ini为mysql安装目录下),然后去掉前面的“#”

号,再重启mysql服务。OK,现在会看到指定的日志文件已创建。相反地,若要停止mysql日志服务,只需要将my.ini中对应的配置信息去掉即

可。

>>>>相应的使用慢日志查询

手动的去读取慢日志以及修改慢日志的时间

show variables like ‘long%’

会得到慢日志的时间

进行设置慢日志的值

set long_query_time =2;

侧重的二进制文件

二进制日志:

  

从概述中我可以看到my.ini配置信息的log-bin没有指定文件扩展名,这是因为即使你指定上扩展名它也不使用。当mysql创建二进制日志文件

时,首先创建一个以“mysql_log_bin”为名称,以“.index”为后缀的文件;再创建一个以“mysql_log_bin”为名称,以

“.000001”为后缀的文件。当mysql服务重新启动一次以“.000001”为后缀的文件会增加一个,并且后缀名加1递增;如果日志长度超过了

max_binlog_size的上限(默认是1G)也会创建一个新的日志文件;使用flush

logs(mysql命令符)或者执行mysqladmin –u –p flush-logs(windows命令提示符)也会创建一个新的日志文件。

既然写入的都是二进制数据,用记事本打开文件是看不到正常数据的,那怎么查看呢?

使用BIN目录下mysqlbinlog命令,如:

Bin>mysqlbinlog d:/mysql_log/mysql_bin.000001

Bin>mysqlbinlog d:/mysql_log/mysql_bin.000002

Bin>mysqlbinlog d:/mysql_log/mysql_bin.000003

Bin>mysqlbinlog d:/mysql_log/mysql_bin.000004

Bin>mysqlbinlog d:/mysql_log/mysql_bin.000005

使用SQL语句也可查看mysql创建的二进制的文件目录:

Mysql>

mysql 日记

相关文章:

你感兴趣的文章:

标签云: