mysql日志结构是怎样的

网友投稿 375 2023-12-31

mysql日志结构是怎样的

这篇文章主要讲解了“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日志结构是怎样的这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:mysql 5.7+keepalived主从切换步骤是怎样的
下一篇:怎么解决数据库报错ERROR 1290问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~