【发布时间】:2017-03-28 16:52:04
【问题描述】:
多年来,我一直在使用 PHPMyAdmin 来管理我们的内部网站,它一直运行良好。然而,几个月前我注意到它开始运行缓慢 - 特别是在尝试在表中加载行时。我花了几个月的时间坐下来开始研究它,到了 PHPMyAdmin 似乎只是放弃的地步——它只是在加载时卡住了。而且我们在这里也不是在谈论大表 - 最大的是 26,000 行,但这发生在所有人身上,包括那些有 90 行的表。它们是 InnoDB 表。
基本上,我登录 PHPMyAdmin,调出一个数据库,调出一个表,然后点击下一组行或最后一组行的箭头(无论哪种方式都一样),PHPMyAdmin 只是挂在那里说正在加载.那时它完全卡住了,我需要重新加载网页才能做其他事情。如果我运行 SQL 查询或搜索,它可以正常工作,而且我的任何网站都没有遇到任何减速。今天早上我什至安装了 Adminer 并执行了相同的任务,并且运行良好。所以这似乎是 PHPMyAdmin 的一个问题。
我确实将$cfg['MaxExactCount'] = 0; 和$cfg['MaxExactCountViews'] = 0; 添加到我的config.inc.php 文件中。我也确实在 sql 中运行了set global innodb_stats_on_metadata=0,这两个建议都是我在这里找到的。两者都没有帮助。
我在 MySQL、PHP 和 PHPMyAdmin 上落后了几个版本,所以我升级了(虽然还不是最新的,但从 PHP5 跳到 7 似乎是一个复杂的过程)。这是我正在运行的:
- Windows 2012 服务器
- IIS8
- PHP 5.6.30
- MySQL 5.5.54(我看到 PHP 看到 客户端 API 为 mysqlnd-5.0.11-dev 如果有区别)
- PHPMyAdmin 4.6.6
如果您能提供任何帮助我尝试解决此问题的建议,我们将不胜感激!
【问题讨论】:
-
这可能是一个过于本地化的问题,无法在这里找到和回答,因为它基本上是对“你尝试过 x”cmets 的邀请。如果你能找到一个最小的例子来复制这个问题,那将会有所帮助。 (我会调查 phpmyamdin 正在创建的确切查询,看看是否会造成瓶颈。)
-
监控mysql命令行,看看有没有瓶颈。否则,你最好直接询问 phpmyadmin 的创建者。
-
我只是在 msql 命令行中运行了
SHOW FULL PROCESSLIST;,有趣的是,phpmyadmin 中没有出现任何内容。实际上,我在 phpmyadmin 中写了一个 SELECT * FROM 'tickets' ORDER BY id DESC limit 30 的快速查询(这类似于我假设 GUI 正在做的事情),它也卡住了。然而,我在一个 PHP 文件中运行了同样的东西,并显示了输出,它几乎立即出现了。因此,出于某种原因,这绝对是一个 PHPMyAdmin 问题。我刚刚检查了他们的网站,上面说来这里寻求支持。不确定我是否需要以某种方式标记它
标签: php mysql phpmyadmin