mysql日志结构

本文详细介绍了Mysql的三种日志类型:错误日志、通用日志和慢查询日志的功能及配置方法,并提供了mysqldumpslow工具的使用指南。
一.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 |
+---------------------------+-------------------------------------+

点击(此处)折叠或打开

  1. set global slow_query_log='ON’;
  2. Set global long_query_time=1
  3. log_queries_not_using_indexes:记录没有用索引的查询
  4. log_throttle_queries_not_using_indexes:#设定每分钟记录到日志的未使用索引的语句数目,超过这个数目后只记录语句数量和花费的总时间
  5. min_examined_row_limit:要检查的行数大于等于N时 才记录为慢查询,前提是必须满足long_query_time和 log-queries-not-using-indexes约束。
  6. log_slow_admin_statements:管理语句是否记录
  7. 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条里面含有左连接的查询语句。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15412087/viewspace-2152194/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15412087/viewspace-2152194/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值