错误日志
查看 sql 错误日志文件所在位置
show variables like 'log_error';
vim VM-0-11-centos.err
通过不同的账号测试,试图登录我的数据库
查询日志
一般查询日志: 在超时内完成,默认是关闭的,不建议开启
慢查询日志:在超时外完成,就是超出时间的查询
一般查询
使用” —general_log={0|1} “来决定是否启用一般查询日志,使用” —general_log_file=file_name “来指定查询日志的路径。不给定路径时默认的文件名以 hostname
.log 命名。
慢查询日志属性:
long_query_time = 10 # 指定慢查询超时时长,超出此时长的属于慢查询,会记录到慢查询日志中
log_output={TABLE|FILE|NONE} # 定义一般查询日志和慢查询日志的输出格式,不指定时默认为file
TABLE表示记录日志到表中,FILE表示记录日志到文件中,NONE表示不记录日志。只要这里指定为NONE,即使开启了一般查询日志和慢查询日志,也都不会有任何记录。
慢查询
long_query_time=10 # 指定慢查询超时时长(默认10秒),超出此时长的属于慢查询
log_output={TABLE|FILE|NONE} # 定义一般查询日志和慢查询日志的输出格式,默认为file
log_slow_queries={yes|no} # 是否启用慢查询日志,默认不启用
slow_query_log={1|ON|0|OFF} # 也是是否启用慢查询日志,此变量和log_slow_queries修改一个另一个同时变化
slow_query_log_file=/mydata/data/hostname-slow.log #默认路径为库文件目录下主机名加上-slow.log
log_queries_not_using_indexes=OFF # 查询没有使用索引的时候是否也记入慢查询日志
# mysql
show VARIABLES like 'slow_query_log_file';
# centos 命令行
less mysql-slow.log
随着时间的推移,慢查询日志文件中的记录可能会变得非常多,这对于分析查询来说是非常困难的。好在提供了一个专门归类慢查询日志的工具mysqldumpslow。
./mysqldumpslow /www/server/data/mysql-slow.log