【发布时间】:2018-06-02 14:39:39
【问题描述】:
这是我关于 SO 的第一个紧张问题,因为我在过去十年中的所有问题都已经有了很好的答案。
我已经搜索了所有我能想到的术语,但没有找到可以解决问题的结果——无论是在 SO 上还是在 Google 上...
在过去的 15 年里,我们使用 phpMyAdmin 来管理一个包含大约 100 个表的 linux MySQL 制造数据库,其中一些现在每个表都有 50 到 3 亿条记录。正在进行的开发是不断的,随着数据大小的增长,手动查找各种表以纠正错误数据或修改表索引等变得频繁。所有这些都在我们的快速网络内部——即通过我们的内部网访问。大多数查询都很短,并且数据库以较低的平均负载响应地运行。
可以理解,DBA 错误时有发生。例如,为了加快慢速查询,可能会在没有充分考虑的情况下将附加索引添加到大表中。此时,重新索引可能需要 30 分钟,并且制造应用程序(用 php 为 Apache2 编写,也在 linux 服务器上)立即停止。这在工厂里是不受欢迎的。
这是真正的问题。然后我不能从我的开发 PC 打开第二个 phpMyAdmin 实例来杀死不需要的 MySQL 进程,而它仍然很忙。这是我最需要的时间:-) 浏览器只是等待 phpMyAdmin 页面加载,直到长查询完成。
如果我碰巧有第二个实例 pf phpMyAdmin 已经打开,我可以查找该进程并令人满意地终止它。通常,我唯一的办法是在服务器上重新启动 Apache2 和/或 MySQL。这太过分了,并且需要重新启动许多客户端计算机才能重新建立与数据库的必要制造连接。
我已经看到关于 SO 的参考,即 Apache 将在使用基于文件的会话管理的 php 程序的情况下对来自同一 IP 地址的请求进行排队,但在我看来,我无法控制 phpMyAdmin 如何使用其会话。
我前段时间还读到,如果在数据库服务器上使用多个 CPU 内核,尽管这样的查询仍然很忙,但仍可以建立多个同时连接。我现在找不到任何关于这个概念的参考。
有人知道如何允许或强制使用 phpMyAdmin 从同一台 PC 到同一数据库服务器的第二个 phpMyAdmin 连接,而 phpMyAdmin 的第一个实例仍与之前的慢查询相关联?
非常感谢,杰姆·斯坦纳斯
【问题讨论】:
-
phpMyAdmin 只是另一个 PHP 脚本,你应该真正学习如何在没有它的情况下与 MySQL 交互
-
你为什么不用cli?
-
问题不在于你的 phpMyAdmin,而在于 mysql,如果它停止了你的所有实例
-
哈哈。我是 m%soft 的牺牲品——我不碰打字,而且沉迷于 GUI。 :-)
-
您是否尝试在其他浏览器中打开第二个实例?
标签: php mysql apache phpmyadmin kill