共计 2157 个字符,预计需要花费 6 分钟才能阅读完成。
这篇文章主要讲解了“mysql 日志结构是怎样的”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“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 日志结构是怎样的这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!