mysql下的日志

转载:http://www.cnblogs.com/myjavawork/articles/1787384.html

日志文件类型概述:


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日志的关闭与开启:

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

  1. 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创建的二进制的文件目录:

 

  1. Mysql> show master logs; 
    

 

查看当前二进制文件状态:

 

  1. mysql> show master status;  



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值