mysql日志结构是怎样的
这篇文章主要讲解了"mysql日志结构是怎样的",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"mysql日志结构是怎样的"吧!
一.Mysql错误日志
/home/mysql3306/logs/mysql-error.log
如果数据库出现故障,error日志,是第一个需要查询的日志
删除错误日志
MySQL的日志文件(错误日志)
<5.5.7版本时,flush logs会将filename.err命名为filename.err_old
>5.5.7版本则只是会重建错误日志,也就是除非错误日志被删除了会 重建一个;
否则不会对线上错误日志有影响。
注意:删除错误日志后,不会自动重建。需要flush logs或者重启数 据库。
mysqladmin -u root -p flush-logs
或者
mysql>flush logs;
二.Mysql general日志
记录所有执行过的语句,但是开启后对于数据库服务器的压力影响比较严重.不太建议搭建日常开启该日志,在某些情况下,比如统计汇总SQL,审计可以考虑暂时性的开启general log,否则容易出现问题.
相关参数:
mysql> show variables like '%general%';
+------------------+--------------------------------------+
| Variable_name | Value |
+------------------+--------------------------------------+
| general_log | OFF |
| general_log_file | /home/mysql3306/mysql3306/mysql5.log |
+------------------+--------------------------------------+
三.Mysql slow 日志
记录执行超过时间阈值的SQL语句,用来判定执行比较慢的sql
mysql> show variables like '%slow%';
+---------------------------+-------------------------------------+
| Variable_name | Value |
+---------------------------+-------------------------------------+
| log_slow_admin_statements | ON |
| log_slow_slave_statements | ON |
| slow_launch_time | 2 |
| slow_query_log | ON |
| slow_query_log_file | /home/mysql3306/logs/mysql-slow.log |
+---------------------------+-------------------------------------+
点击(此处)折叠或打开
set global slow_query_log='ON';
Set global long_query_time=1
log_queries_not_using_indexes:记录没有用索引的查询
log_throttle_queries_not_using_indexes:#设定每分钟记录到日志的未使用索引的语句数目,超过这个数目后只记录语句数量和花费的总时间
min_examined_row_limit:要检查的行数大于等于N时 才记录为慢查询,前提是必须满足long_query_time和 log-queries-not-using-indexes约束。
log_slow_admin_statements:管理语句是否记录
log_slow_slave_statements:从库的语句执行是否记录
- mysqldumpslow工具
-s, 是表示按照何种方式排序,c、t、l、r分别是按照记录次数、时间、查询时间、返回 的记录数来排序,
ac、at、al、ar,表示相应的倒叙;
-t, 是top n的意思,即为返回前面多少条的数据;
-g, 后边可以写一个正则匹配模式,大小写不敏感的;
比如:
/path/mysqldumpslow -s r -t 10 /database/mysql/slow-log
得到返回记录集最多的10个查询。
/path/mysqldumpslow -s t -t 10 -g "left join" /database/mysql/slow-log
得到按照时间排序的前10条里面含有左连接的查询语句。
感谢各位的阅读,以上就是"mysql日志结构是怎样的"的内容了,经过本文的学习后,相信大家对mysql日志结构是怎样的这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!