1

在过去的几天里,我遇到过几次这个问题。所以,它偶尔会发生。我在一台远程机器上设置了mysql,另一台机器上有一个java程序查询数据库每隔几秒读取和写入记录。

我正在使用 phpMyAdmin 来管理我的数据库。而且,有时,在运行一些 SQL 查询后,mysql 服务器会停止响应。即使 ping 主机也不成功。而且,我必须让可以物理访问机器的人再次启动它。

我检查了日志文件,但在 mysql 目录中找不到它们。默认情况下禁用日志记录吗?这里缺少什么?而且,我该如何解决这个问题?

编辑:一段时间后我能够ping服务器。所以,服务器一定是暂时繁忙。这不是一个特定的查询,而是诸如在浏览选项卡下连续重新排序表的数据之类的事情。

4

2 回答 2

2

使用 mysqlclient 建立连接并保持打开状态。我个人从命令行使用mysql。

如果服务器变得无响应执行

SHOW PROCESSLIST;

它将列出所有 mysql 进程并显示查询等待/执行的时间。

可以选择使用 KILL 语句来终止锁定表的查询。

KILL $pid 
于 2009-01-12T21:37:20.187 回答
1

我强烈建议使用 MySQL 自己的GUI 工具进行数据库管理,原因有很多:

  • 他们完全支持 InnoDB 表,包括外键管理
  • 您可以使用数据库级别的安全性来确保只有您才能访问您的数据(与 phpMyAdmin 不同,它充其量只能是安装在 .htaccess 密码后面的 root 访问权限)
  • 它是官方的并受支持。服务器上没有运行额外的二进制文件,因此您不会冒它崩溃并导致服务器停机的风险(除非您的查询本身将其锁定......)
于 2009-01-12T21:15:28.420 回答