【发布时间】:2015-07-17 12:54:48
【问题描述】:
多年来,运行 MySQL 的 Linux 虚拟机一直表现出色。这是一台用于在将网站更改推送到真实网站之前测试网站更改的机器。我们的现场站点由一家托管公司托管,并得到了很大的支持,但我们的开发站点由一个几乎不知道任何 Linux 等的菜鸟(我)在我们的办公室托管和维护。
前几天,当我在开发机器上测试网站的一些更改时,我注意到它无法连接到数据库。我只是从备份中恢复,但当然我从未实施过备份过程,因为我认为我不需要它,因为它只是一个开发盒。所以现在我要么必须修复 MySQL,要么从头开始重新启动开发站点,这让我花了一段时间才弄好上次。
因此,我们网站 (php) 上的每个页面都以包含/运行代码以连接到数据库的行开头。这就是我第一次注意到这个问题的原因,因为每个页面看起来都很混乱,并且在浏览器中进入页面源并且每个页面的顶部都是“MySQL 登录错误”。在<html> 标签之前。我尝试重新启动服务器,它做同样的事情。我做了一个“ps aux | less”,发现:
/usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock
这告诉我它正在运行。我也无法使用 MySQL 工作台进行连接。为什么组织中没有其他人会接触到的 Linux 机器会突然停止允许 MySQL 连接? MySQL 标准端口在我们的防火墙上是开放的,但我们使用带有强密码的原始用户名,所以我认为它是安全的。
【问题讨论】:
-
服务器是否空间不足?检查 mysql 日志以查看任何错误。
-
你能从同一台服务器上的命令行连接吗?运行
df -h看看是否有可用空间 -
尝试重启虚拟机,或者如果可以的话,重启虚拟机主机。
-
@halfer 这将是一个 Windows 解决方案。无需在这里重新启动任何东西。实际上,最好不要重新启动,因为如果服务器被黑客入侵,重新启动可能会产生新的问题并且证据可能会丢失。
-
在 VM 驱动器仍在运行时对其进行克隆,然后重新启动 - 除非您认为 RAM 中可能仍存在某些问题?你有任何理由怀疑黑客入侵吗?