如何在EC2中有更好的mysqld可靠性?

在EC2的Linux主机上运行mysqld时,我们遇到了严重的稳定性问题,所有数据和日志文件都存储在EBS卷上。 我们保留一个纯粹用于热备份和故障切换的从站,当主站出现故障时,我们通常可以在没有任何问题的情况下将从站作为主站,然后创build一个新的从站。

但是,我们的主人会下台,这是非常有问题的。 主控主机运行良好,但是mysqld不会响应任何事情,甚至不能用kill -9来终止。

这种情况发生在我们的生产环境和登台环境相似,但生产环境运行在大型实例(Centos 5.2 x86_64)和中型实例(使用Centos 5.2 i686)上运行。

有没有人在EC2中遇到类似的mysqld稳定性问题,如果是的话,他们是怎么处理的?

提前致谢。

如果mysqld即使kill -9也不会死,那么问题几乎可以肯定的是它在不间断的睡眠中等待磁盘IO。 这强烈地表明你有一个无聊的EBS,有时会发生。 如果你觉得过于乐观,你可以尝试联系亚马逊的支持,但最快的解决scheme是创build一个新的EBS,并使用它(希望你会在一个垃圾的存储单元),或尝试移动到不同的可用性区。 是的,他们是bollocks选项,但EC2只是有时这样的小故障,你有效地拧。

同意。 我们有一些长时间运行的ec2mysql实例,并没有问题。 这听起来像是一个特定于您的环境的硬件问题。

尝试以root用户身份(即,mysql root用户,而不是您的普通root用户)连接。 有可能是有太多的连接到MySQL,这阻止了新的连接。 MySQL的根帐户是除了这些限制,可以随时连接。