18 慢日志管理

1,287次阅读
没有评论

共计 1420 个字符,预计需要花费 4 分钟才能阅读完成。

慢日志

  • 执行时间 > 10
  • 未命中索引
  • 日志文件路径

配置

  • 内存
show variables like '%queries%';
set global [变量名] = [值]
  • 配置文件
mysqld --defaults-file='E:\wupeiqi\mysql-5.7.16-winx64\mysql-5.7.16-winx64\my-default.ini'
  • my.cnf 文件内容
slow_query_log = ON
slow_query_log_file = [日志文件路径]

ps : 修改完配置文件后需要重启服务

Mysql 日志管理

  • 错误日志: 记录 MySQL 服务器启动、关闭及运行错误等信息
  • 二进制日志: 又称 binlog 日志,以二进制文件的方式记录数据库中除 SELECT 以外的操作
  • 查询日志: 记录查询的信息
  • 慢查询日志: 记录执行时间超过指定时间的操作
  • 中继日志:备库将主库的二进制日志复制到自己的中继日志中,从而在本地进行重放
  • 通用日志:审计哪个账号、在哪个时段、做了哪些事件
  • 事务日志或称 redo 日志:记录 Innodb 事务相关的如事务执行时间、检查点等

使用

1.bin-log

1. 启用
# vim /etc/my.cnf
[mysqld]
log-bin[=dir\[filename]]
# service mysqld restart
2. 暂停
// 仅当前会话
SET SQL_LOG_BIN=0;
SET SQL_LOG_BIN=1;
3. 查看
查看全部:# mysqlbinlog mysql.000002
按时间:# mysqlbinlog mysql.000002 --start-datetime="2012-12-05 10:02:56"
# mysqlbinlog mysql.000002 --stop-datetime="2012-12-05 11:02:54"
# mysqlbinlog mysql.000002 --start-datetime="2012-12-05 10:02:56" --stop-datetime="2012-12-05 11:02:54" 

按字节数:# mysqlbinlog mysql.000002 --start-position=260
# mysqlbinlog mysql.000002 --stop-position=260
# mysqlbinlog mysql.000002 --start-position=260 --stop-position=930
4. 截断 bin-log(产生新的 bin-log 文件)a. 重启 mysql 服务器
b. # mysql -uroot -p123 -e 'flush logs'
5. 删除 bin-log 文件
# mysql -uroot -p123 -e 'reset master' 

2. 查询日志

 启用通用查询日志
# vim /etc/my.cnf
[mysqld]
log[=dir\[filename]]
# service mysqld restart

3. 慢查询日志

 启用慢查询日志
# vim /etc/my.cnf
[mysqld]
log-slow-queries[=dir\[filename]]
long_query_time=n
# service mysqld restart
MySQL 5.6:
slow-query-log=1
slow-query-log-file=slow.log
long_query_time=3
查看慢查询日志
测试:BENCHMARK(count,expr)
SELECT BENCHMARK(50000000,2*3);

18 慢日志管理

正文完
 
shawn
版权声明:本站原创文章,由 shawn 2023-06-16发表,共计1420字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)