是否有与 MySql 等效的 Profiler? [关闭]

Posted

技术标签:

【中文标题】是否有与 MySql 等效的 Profiler? [关闭]【英文标题】:Is there a Profiler equivalent for MySql? [closed] 【发布时间】:2010-09-06 10:09:09 【问题描述】:

“Microsoft SQL Server Profiler 是 SQL Trace 的图形用户界面,用于监视数据库引擎或分析服务的实例。”

我发现在开发、测试和调试数据库应用程序问题时使用 SQL Server Profiler 非常有用。有人知道mysql是否有等效的程序吗?

【问题讨论】:

【参考方案1】:

社区服务器版本 5.0.37 中很酷的东西是MySQL's new profiler。

这可能会为您提供您正在寻找的信息。

【讨论】:

仅供参考,上面的链接似乎已经死了,它把我带到了一个空白的 Orace 搜索页面。这是 SHOW PROFILES 语法的链接,它将帮助您做您想做的事情:dev.mysql.com/doc/refman/5.0/en/show-profiles.html. 仅供参考:使用来自 waybackmachine 的快照更新了原始链接 请注意,这个答案是关于 SQL Profiler 的,它主要是一个分析工具,用于了解如何执行单个 SQL 查询。这很好,但大多数 Microsoft SQL Profiler 用户都在寻找跟踪工具,即显示已执行 SQL 的工具。【参考方案2】:

您是要监控性能,还是只想查看正在执行的查询?如果是后者,您可以配置 MySQL 以记录它给出的所有查询。在 RedHat Linux 机器上,您可以添加

log = /var/lib/mysql/query.log

在重新启动 MySQL 之前转到 /etc/my.cnf 的 [mysqld] 部分。

请记住,在繁忙的数据库场景中,这些日志可能会变得非常大。

【讨论】:

【参考方案3】:

试试 JET profiler 是一个实时查询性能和诊断工具! 我在工作中使用它。优秀的软件和支持。 Review Jet Profiler for MySQL

【讨论】:

旧产品。被我使用并救了我的命,但不是今天。 此答案已过时,因为引用的网站不再与 MySQL 相关 不要点击链接,这个网站不再是关于 MySQL 的了。 (这是一个有中文内容的中文网站)【参考方案4】:

使用Neor Profiler SQL,非常棒!并且该应用程序对所有用户都是免费的。 https://www.profilesql.com/download/

【讨论】:

我正在尝试在我的 ubuntu 上使用它,但它甚至没有连接到 mysql。 虽然好久没更新了,但好像是个不错的应用,但是不明白怎么可视化执行的查询。顶部图表似乎没问题,但查询列表仍然为空。 Neor Profiler SQL 4.1.1 macOS Mojave 10.14.6mysql server 5.6.435.7.27-0ubuntu0.16.04.1 用MySql 8 需要使用带有旧本机密码认证的用户。 请更新这篇文章的链接,提供的链接指向一个中文网站。 MySQL WorkBench 8 值得一试,它有很多很好的功能可以通过易于使用的 GUI 进行报告和导出来分析您的 MySQL 实例。【参考方案5】:

在我看来,我发现这里的一切都是原始的......

找到并打开您的 MySQL 配置文件,通常是 Ubuntu 上的 /etc/mysql/my.cnf。查找“日志记录和复制”部分

# * Logging and Replication
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.

log = /var/log/mysql/mysql.log

或者在新版本的mysql中,注释掉这行代码

general_log_file        = /var/log/mysql/mysql.log
general_log             = 1
log_error                = /var/log/mysql/error.log

只需取消注释“log”变量即可打开日志记录。使用以下命令重新启动 MySQL: sudo /etc/init.d/mysql 重启

现在我们已准备好在查询进入时开始监控它们。打开一个新终端并运行此命令以滚动日志文件,并在必要时调整路径。

tail -f /var/log/mysql/mysql.log

【讨论】:

人们报告说这在最新版本中不起作用,并使用:general_log = ongeneral_log_file=/path/to/query.log,而不是我在***.com/questions/6479107/…找到的 Windows 上的配置文件位置(xampp 安装):mysql\bin\my.ini 以防万一其他人正在寻找这个。【参考方案6】:

Jet Profiler 如果是付费版本就很好。 LogMonitor 只是将它指向 mysql 日志文件。

【讨论】:

【参考方案7】:

不确定图形用户界面,但有一个命令帮助我使用工作台在 MySQL 中对存储过程进行了很多分析:

SET profiling = 1;
call your_procedure;
SHOW PROFILES;
SET profiling = 0;

【讨论】:

【参考方案8】:

如果版本 5.0.37 不可用,您可能需要查看 mytop。它只是输出服务器的当前状态,但允许您在特定查询上运行 EXPLAIN(由 mercutio 提到)。

【讨论】:

【参考方案9】:

我不知道任何类似的分析应用程序,但使用 EXPLAIN 语法分析查询是司空见惯的。您可以使用这些来确定要创建的最佳索引,或者您可以尝试更改整体查询并查看它如何改变效率等。

【讨论】:

以上是关于是否有与 MySql 等效的 Profiler? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

是否有与 MySQL 的 DESCRIBE [表] 等效的 SQLite?

是否有与 PHP 的 preg_replace 等效的 MySQL?

是否有与 Haskell 'let' 等效的 Python

是否有与 FontUtilities.getCompositeFontUIResource(Font) 等效的非专有等效项?

是否有与 RecyclerView 等效的 addHeaderView?

是否有与 Amazon S3 等效的开源软件? [关闭]