Mysql日志 - 图1

错误日志

查看 sql 错误日志文件所在位置

  1. show variables like 'log_error';

image.png

image.png

  1. vim VM-0-11-centos.err

通过不同的账号测试,试图登录我的数据库
image.png

查询日志

一般查询日志: 在超时内完成,默认是关闭的,不建议开启
慢查询日志:在超时外完成,就是超出时间的查询

一般查询

使用” —general_log={0|1} “来决定是否启用一般查询日志,使用” —general_log_file=file_name “来指定查询日志的路径。不给定路径时默认的文件名以 hostname.log 命名。

慢查询日志属性:

  1. long_query_time = 10 # 指定慢查询超时时长,超出此时长的属于慢查询,会记录到慢查询日志中
  2. log_output={TABLE|FILE|NONE} # 定义一般查询日志和慢查询日志的输出格式,不指定时默认为file

TABLE表示记录日志到表中,FILE表示记录日志到文件中,NONE表示不记录日志。只要这里指定为NONE,即使开启了一般查询日志和慢查询日志,也都不会有任何记录。

慢查询

  1. long_query_time=10 # 指定慢查询超时时长(默认10秒),超出此时长的属于慢查询
  2. log_output={TABLE|FILE|NONE} # 定义一般查询日志和慢查询日志的输出格式,默认为file
  3. log_slow_queries={yes|no} # 是否启用慢查询日志,默认不启用
  4. slow_query_log={1|ON|0|OFF} # 也是是否启用慢查询日志,此变量和log_slow_queries修改一个另一个同时变化
  5. slow_query_log_file=/mydata/data/hostname-slow.log #默认路径为库文件目录下主机名加上-slow.log
  6. log_queries_not_using_indexes=OFF # 查询没有使用索引的时候是否也记入慢查询日志
  1. # mysql
  2. show VARIABLES like 'slow_query_log_file';
  3. # centos 命令行
  4. less mysql-slow.log

image.png

随着时间的推移,慢查询日志文件中的记录可能会变得非常多,这对于分析查询来说是非常困难的。好在提供了一个专门归类慢查询日志的工具mysqldumpslow。

  1. ./mysqldumpslow /www/server/data/mysql-slow.log

image.png

二进制日志

参考

https://www.cnblogs.com/f-ck-need-u/p/9001061.html