gpt4 book ai didi

mysql - 如何检查项目的slow_query?

转载 作者:行者123 更新时间:2023-11-29 10:44:41 24 4
gpt4 key购买 nike

我刚刚发现了一个非常有用的功能,即 slow_query_log,它可以检查运行缓慢的查询。我设法通过此链接在 CMD 中执行命令:

https://www.a2hosting.com/kb/developer-corner/mysql/enabling-the-slow-query-log-in-mysql

日志文件是在项目文件夹内创建的,并且在其中没有找到任何查询,因此不应存在缓慢的查询。

但是我想了解这个 slow_query_log 如何针对每个数据库、每个项目进行检查?

如果我想检查特定项目的慢速查询,我应该输入什么命令? Slow_query 东西如何知道所有查询在我的 myproject 中列出的位置,以及贯穿始终的查询是什么?

Please explain this part to me.

这是我在 CMD 中执行命令的方式:

cd C:/wamp/bin/mysql/mysql5.7.14/bin
mysql -u myusername-p
enter password: mypassword
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 5;
SET GLOBAL slow_query_log_file = 'C:/wamp/www/myproject/slow_query/log.php';

然后我退出 CMD,并返回键入的 mysql SELECT SLEEP(6);

我在slow_query/log.php文件中找到了以下内容

wampmysqld, Version: 5.7.14 (MySQL Community Server (GPL)). started with: TCP Port: 3306, Named Pipe: /tmp/mysql.sock Time
Id Command Argument

最佳答案

最好的方法是使用慢查询分析器。

我发现最好的是 Percona 的 pt-query-digest,它使您能够以多种不同的方式过滤和分析慢速日志。该工具包含在 Percona's Toolkit 中其中有许多对 MySQL DBA 有用的工具

现在我假设您想要过滤每个模式/数据库的日志(项目这是 MySQL 中的一个陌生概念),如果是这样,您将使用 pt-query-digest 使用 --filter '($event ->{db} || "") =~ m/mydb/' 选项,其中 mydb 是您要过滤的数据库。

您可以在 Percona 的博客中阅读有关慢查询日志的更多有用信息,例如 this one

关于mysql - 如何检查项目的slow_query?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44830730/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com