MySQL通用查询日志(开启、位置、查看)详解

MySQL通用查询日志对于程序开发者来说是非常重要的一个东西,如果你想深入做DBA优化,MySQL通用查询日志也是必不可少的。

 

一、什么是MySQL通用查询日志?MySQL通用查询日志有什么用?

MySQL通用查询日志英文全称:General Query Log,也可叫MySQL一般查询日志MySQL普通查询日志

MySQL通用查询它主要是记录 mysqld 正在做的事情,如客户端的连接和断开、来自客户端每条 SQL语句 记录信息;如果你想准确知道客户端究竟传了什么内容给服务端,这个日志就非常管用了,当然了这货是非常影响性能的。

 

注意:

由于MySQL通用查询会记录服务器接收到的每一个查询或是命令,无论这些查询或是命令是否正确甚至是否包含语法错误,general log 都会将其记录下来 ,记录的格式为 {Time ,Id ,Command,Argument }。也正因为mysql服务器需要不断地记录日志,开启General log会产生不小的系统开销。 因此,Mysql默认是把General log关闭的。

 

二、MySQL通用查询日志 开启

mysql> set global general_log = on;

 

想要关闭就用 off。

 

三、查看 MySQL通用查询日志 是否开启成功?

mysql> show variables like "general_log%";

查看 MySQL通用查询日志 是否开启成功?

 

四、查看 MySQL普通查询日志的存放方式

mysql> show variables like 'log_output';

查看 MySQL普通查询日志的存放方式

 

五、设置 MySQL普通查询日志的存放方式

mysql> set global log_output=file;

 

一般来说,存放方式有 tablefile 两种,默认是file。

如果设置 log_output=table 的话,则日志结果会记录到名为 gengera_log 的表中,这表的默认引擎都是CSV。

如果设置 log_output=file 的话,就需要设置general log的日志文件路径,下一个步会讲到。

 

六、设置 MySQL普通查询日志的文件存放路径

mysql> set global general_log_file='E:/phpstudy_pro/Extensions/MySQL5.7.26/log/mysql-general.log';

 

七、MySQL一般查询日志在哪里?查看MySQL一般查询日志位置

mysql> show variables like "general_log%";

查看 MySQL通用查询日志 是否开启成功?

 

八、MySQL一般查询日志 使用教程

使用我就不多说了,无非是打开MySQL一般查询日志文件去详细分析,看看执行了哪些SQL语句?每条SQL语句它的性能如何?能否根据自己的业务情况再一步提升。可以手工用MySQL Explain(执行计划)来分析。

 

以下是我打开一般查询日志文件内容的部份截图:

mysql一般查询日志文件内容

 

 

总结:

其实,MySQL有好几种日志都是很重要的,MySQL普通查询日志只是其中之一,例如:还有MySQL二进制日志MySQL慢查询日志、MySQL错误日志......等等。

    A+
发布日期:2021年01月02日 15:52:30  所属分类:MySQL
最后更新时间:2021-01-02 15:52:30
付杰
  • ¥ 298.0元
  • 市场价:398.0元
  • ¥ 189.0元
  • 市场价:269.0元
  • ¥ 1999.9元
  • 市场价:8999元
  • ¥ 45.0元
  • 市场价:45.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: