🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
参考博客: ``` http://blog.csdn.net/timchen525/article/details/75268151 ``` # mysql日志类型 mysql中的日志包括: - 错误日志 - 二进制日志 - 通用查询日志 - 慢查询日志 这里主要介绍下比较常用的两个功能: 通用查询日志和慢查询日志 1) 通用查询日志: 记录简历的客户端连接和执行的语句 2) 慢查询日志: 记录所有执行时间超过long_query_time秒的所有查询或者不使用索引的查询 ## 通用查询日志 这里需要知道两个数据库中常用的命令: 1.show variables like '%version%'; 执行效果如下, 可以查看数据库的相关版本信息 ``` mysql> show variables like '%version%'; +-------------------------+------------------------------+ | Variable_name | Value | +-------------------------+------------------------------+ | innodb_version | 5.7.9 | | protocol_version | 10 | | slave_type_conversions | | | version | 5.7.9-log | | version_comment | MySQL Community Server (GPL) | | version_compile_machine | x86_64 | | version_compile_os | linux-glibc2.5 | +-------------------------+------------------------------+ 7 rows in set (0.04 sec) ``` 2.show variables like '%general%'; 执行效果如下,可以查看当前的通用日志查询是否开启,默认情况下是关闭的. ``` mysql> show variables like '%general%'; +------------------+--------------------------------+ | Variable_name | Value | +------------------+--------------------------------+ | general_log | OFF | | general_log_file | /var/log/mysql/general-log.log | +------------------+--------------------------------+ 2 rows in set (0.01 sec) ``` 3.查看慢查询日志 ``` mysql> show variables like '%log_output%'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | log_output | FILE | +---------------+-------+ 1 row in set (0.01 sec) ``` ## 开启和关闭日志命令 ### 开启普通查询日志 ``` 问题:如何开启MySQL通用查询日志,以及如何设置要输出的通用日志输出格式呢? 开启通用日志查询: set global general_log=on; 关闭通用日志查询: set globalgeneral_log=off; 设置通用日志输出为表方式: set globallog_output=’TABLE’; 设置通用日志输出为文件方式: set globallog_output=’FILE’; 设置通用日志输出为表和文件方式:set global log_output=’FILE,TABLE’; (注意:上述命令只对当前生效,当MySQL重启失效,如果要永久生效,需要配置my.cnf) ``` 执行效果如下: ``` mysql> set global general_log=on; ERROR 29 (HY000): File '/var/log/mysql/general-log.log' not found (Errcode: 2 - No such file or directory) ``` 提示没有日志的文件夹路径,所以需要提前创建好目录 ``` mysql> set global general_log=on; Query OK, 0 rows affected (0.04 sec) ``` my.cnf文件的配置如下: ``` general_log=1 #为1表示开启通用日志查询,值为0表示关闭通用日志查询 log_output=FILE,TABLE#设置通用日志的输出格式为文件和表 ```