Mysql打开日志信息

时间:2021-01-28 22:37:15

还可参考博客:http://pangge.blog.51cto.com/6013757/1319304

1)怎么查看mysql是否启用了日志

mysql>show variables like 'log_%';

Mysql打开日志信息

没有手动打开的话,都是关闭的状态.

2)mysql有以下几种日志:

错误日志:     -log-err 
   查询日志:     -log 
   慢查询日志:    -log-slow-queries 
   更新日志:      -log-update 
   二进制日志:  -log-bin

在mysql的安装目录下,打开my.ini,在后面加上上面的参数,保存后重启mysql服务就行了。 
   例如:
   #Enter a name for the error log file.   Otherwise a default name will be used.
   log-error=err.log
   #Enter a name for the query log file. Otherwise a default name will be used.
   #log=
   #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=     
   上面只开启了错误日志,要开其他的日志就把前面的“#”去掉。

我的配置如下:

#Log to file
#Enter a name for the error log file. Otherwise a default name will be used.
log-error="F:/Program Files (x86)/MySQL/MySQL Server 5.5/data/err.log"
#Enter a name for the query log file. Otherwise a default name will be used.
log="F:/Program Files (x86)/MySQL/MySQL Server 5.5/data/mySQL.log"
#Enter a name for the slow query log file. Otherwise a default name will be used.
log-slow-queries="F:/Program Files (x86)/MySQL/MySQL Server 5.5/data/query.log"
#Enter a name for the update log file. Otherwise a default name will be used.
#log-update="F:/Program Files (x86)/MySQL/MySQL Server 5.5/data/update.log"
#Enter a name for the binary log. Otherwise a default name will be used.
log-bin="F:/Program Files (x86)/MySQL/MySQL Server 5.5/data/bin.log"

Mysql打开日志信息

①等号= 后面的有点文章直接写的文件名,说重启Mysql服务之后就会生成对应的日志文件...我尝试无果,写绝对路径可以.

②如果打开上面的log-update配置项,重启Mysql就会报错....注释掉就重启就没有问题,目前不知道什么原因.

生成了对应的日志文件(bin文件每次重启mysql就生成一个.....)

Mysql打开日志信息

此外这个地方还可以设置多个配置项:

下面是配置日志的几种方式,不一定全都要配置,请根据自身需求选择性配置
log=mylog.log --对所有执行语句进行记录
log-error=log-error.log
log=log-query.log
log-queries-not-using-indexes=nouseindex.log
log-warnings=2
log-slow-queries=log-slow-query.log
log-update=log-update.log
long_query_time=2 (开启慢查询)

开启慢查询
long_query_time =2 --是指执行超过多久的sql会被log下来,这里是2秒
log-slow-queries="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log" --将查询返回较慢的语句进行记录

记录没有使用索引的query

log-queries-not-using-indexes = nouseindex.log --就是字面意思,log下来没有使用索引的query
log=mylog.log --对所有执行语句进行记录

3)查看当前的日志

mysql> show master status;

Mysql打开日志信息

4)显示二进制日志数目

mysql>show master logs;

Mysql打开日志信息