惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
F
Fortinet All Blogs
Cloudbric
Cloudbric
P
Palo Alto Networks Blog
T
Threatpost
T
Tor Project blog
T
Tenable Blog
AWS News Blog
AWS News Blog
Project Zero
Project Zero
L
LangChain Blog
Cyberwarzone
Cyberwarzone
Engineering at Meta
Engineering at Meta
雷峰网
雷峰网
C
CERT Recently Published Vulnerability Notes
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Security Latest
Security Latest
云风的 BLOG
云风的 BLOG
I
Intezer
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
P
Proofpoint News Feed
A
Arctic Wolf
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Google DeepMind News
Google DeepMind News
V
Vulnerabilities – Threatpost
C
Cybersecurity and Infrastructure Security Agency CISA
MongoDB | Blog
MongoDB | Blog
aimingoo的专栏
aimingoo的专栏
K
Kaspersky official blog
Jina AI
Jina AI
N
News | PayPal Newsroom
T
The Blog of Author Tim Ferriss
D
DataBreaches.Net
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
博客园 - 【当耐特】
Hugging Face - Blog
Hugging Face - Blog
Recorded Future
Recorded Future
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
S
Secure Thoughts
TaoSecurity Blog
TaoSecurity Blog
P
Privacy & Cybersecurity Law Blog
P
Proofpoint News Feed
MyScale Blog
MyScale Blog
IT之家
IT之家
Forbes - Security
Forbes - Security
The Hacker News
The Hacker News
Last Week in AI
Last Week in AI
T
Threat Research - Cisco Blogs
Y
Y Combinator Blog

博客园 - dhb133

ftp被动模式和主动模式分析 SQL SERVER 2005 数据库状态为“可疑”的解决方法 【转自网络】 命令mstsc.exe /console不能登陆console模式了 用iptables来防止web服务器被CC攻击 bind 安装与简单配置文档 iptables配置 使用blackice黑冰防火墙拦截ping的方法【转】 sql2005阻止了对组件 'Ad Hoc Distributed Queries' 的 问题 mssql 2005 开启1433端口(转) - dhb133 清除tempdb数据库日志 ODBC 驱动程序不支持所需的属性的解决办法 - dhb133 - 博客园 计算表空间的存储过程 按小时查询总数 改了机器名后不能修改sql任务解决办法 msxml3.dll error '80072efd' 错误的解决办法 - dhb133 安全设置【转】 恢复删除的系统存储过程 sql恢复xp_regread - dhb133 - 博客园 总结windows下堆溢出的三种利用方式 - dhb133 - 博客园
mysql 开启慢查询命令【转】
dhb133 · 2011-01-06 · via 博客园 - dhb133

以MySQL 5.1.36为例:
在slow_query_log (注意log_slow_querys参数已经废弃)值为ON的情况下(默认为OFF),当一条SQL语句执行的时间超过了 long_query_time 预设的时间(默认为10s,同时精确到微秒)时,默认(log_output值为FIFL时)就会把这种慢查询记录 到:slow_query_log_file值所指定的文件中。

mysql> select @@global.log_output;
+---------------------+
| @@global.log_output |
+---------------------+
| FILE                |
+---------------------+
1 row in set (0.00 sec)

注意在MySQL5.1就开始支持把慢查询的日志记录放到mysq.slow_log中,但需要设置log_output变量值为TABLE:
mysql> set @@global.log_output='TABLE';
Query OK, 0 rows affected (0.00 sec)

mysql> desc mysql.slow_log;
+----------------+------------------+------+-----+-------------------+-----------------------------+
| Field          | Type             | Null | Key | Default           | Extra                       |
+----------------+------------------+------+-----+-------------------+-----------------------------+
| start_time     | timestamp        | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| user_host      | mediumtext       | NO   |     | NULL              |                             |
| query_time     | time             | NO   |     | NULL              |                             |
| lock_time      | time             | NO   |     | NULL              |                             |
| rows_sent      | int(11)          | NO   |     | NULL              |                             |
| rows_examined  | int(11)          | NO   |     | NULL              |                             |
| db             | varchar(512)     | NO   |     | NULL              |                             |
| last_insert_id | int(11)          | NO   |     | NULL              |                             |
| insert_id      | int(11)          | NO   |     | NULL              |                             |
| server_id      | int(10) unsigned | NO   |     | NULL              |                             |
| sql_text       | mediumtext       | NO   |     | NULL              |                             |
+----------------+------------------+------+-----+-------------------+-----------------------------+
11 rows in set (0.01 sec)

注意,文件记录和写表记录只会有一种生效。


修改之前:
mysql> show variables like '%slow%';
+---------------------+------------------------------------------------+
| Variable_name       | Value                                          |
+---------------------+------------------------------------------------+
| log_slow_queries    | OFF                                            |
| slow_launch_time    | 2                                              |
| slow_query_log      | OFF                                            |
| slow_query_log_file | /usr/local/mysql-5.1.36/var/localhost-slow.log |
+---------------------+------------------------------------------------+
mysql>
4 rows in set (0.00 sec)

注意这个时候localhost-slow.log文件是不存在的:
mysql> system cat /usr/local/mysql-5.1.36/var/localhost-slow.log
cat: /usr/local/mysql-5.1.36/var/localhost-slow.log: No such file or directory

修改slow_query_log的方法:
mysql> warnings;
Show warnings enabled.
mysql> set @@global.log_slow_queries=ON;
Query OK, 0 rows affected, 1 warning (0.01 sec)
Warning (Code 1287): The syntax '@@log_slow_queries' is deprecated and will be removed in MySQL 7.0. Please use '@@slow_query_log' instead
注意已经不再使用log_slow_queries参数,用slow_query_log替代,这样修改slow_query_log时,log_slow_queries也会被隐性地修改:

mysql> set @@global.slow_query_log=ON;
Query OK, 0 rows affected (0.00 sec)

修改之后:
mysql> show variables like '%slow%';
+---------------------+------------------------------------------------+
| Variable_name       | Value                                          |
+---------------------+------------------------------------------------+
| log_slow_queries    | ON                                             |
| slow_launch_time    | 2                                              |
| slow_query_log      | ON                                             |
| slow_query_log_file | /usr/local/mysql-5.1.36/var/localhost-slow.log |
+---------------------+------------------------------------------------+
4 rows in set (0.00 sec)

这时localhost-slow.log文件已经建立:
mysql> system cat /usr/local/mysql-5.1.36/var/localhost-slow.log
/usr/local/mysql-5.1.36/libexec/mysqld, Version: 5.1.36-log (Source distribution). started with:
Tcp port: 3306  Unix socket: /tmp/mysql.sock
Time                 Id Command    Argument
分析时我们可以直接查询慢查询日志,也可以通过mysqldumpslow命令(推荐)来解析这个文件:
[root@localhost var]# mysqldumpslow localhost-slow.log
Reading mysql slow query log from localhost-slow.log
Count: 1  Time=0.00s (0s)  Lock=0.00s (0s)  Rows=0.0 (0), 0users@0hosts
我们可以通过sleep函数来做简单的测试:
如:select sleep(11);