MySQL真的很不稳定 - 考虑迁移

时间:2016-09-18 08:06:57

标签: mysql database

如何构建更强大的数据库服务器?我知道这是一个非常普遍的问题,但是我使用MySQL进行了一些错误和停机,只需要一些选择和2个插入的简单服务。没什么复杂的,没有JOIN ......

由于连接很多,我首先将主机从数据库服务器上阻止,所以我增加了max_used_connections参数。我的客户端实际上正在关闭连接并正确处理池。

有些日子它运作正常。今天我醒了,MySQL服务器坏了。试图用service mysql restart重新启动它,但失败了。试图连接和错误1040:连接太多。 所以我甚至无法重启服务器。

我做了killall mysqld并尝试使用service mysql start启动服务器。服务不会开始。运行su - mysql -s /bin/sh -c "/usr/bin/mysqld_safe > /dev/null 2>&1 &",服务器终于开始了。

我还增加了max_connections限制,因为服务器在今天启动它后几秒钟就会死掉。

然后一张桌子已损坏ERROR 144 (HY000): Table '<table_name>' is marked as crashed and last (automatic?) repair failed

尝试REPAIR <table_name>,但一段时间后服务器再次死亡ERROR 2006 (HY000): MySQL server has gone away。每次服务器死亡时,都会尝试同样的过程(killall到此处)约3次。

现在我正在运行REPAIR <table_name> QUICK并且服务器似乎没有死亡,但它需要很长时间来修复200k行表。

顺便说一下,我只有两个表,一个有200k行,另一个有11M行。我达到了大约2000个并发用户的峰值,这导致每秒最多100个查询。

MySQL崩溃这很容易吗?我应该迁移到其他更具可扩展性的数据库,如Cassandra吗?我实际上更喜欢一个关系数据库用于我的情况(表结果有一个request_id,一个请求表的FK,其中key_id FK是一个密钥表),但是不会因为实际上正常的正常运行时间而失去关系优势。 / p>

1 个答案:

答案 0 :(得分:0)

我不确定你的问题( MySQL崩溃这样容易吗?我是否应该迁移到其他更具可扩展性的数据库,如Cassandra?)可以客观地回答,所以这里是我的主观回答:

不,这不正常,你可能不应该迁移,因为你需要一个关系数据库,MySQL得到了很好的支持,而且非常有名。

有关您的问题的更多信息(也是主观的):

MySQL非常稳定。我有MySQL服务已经运行多年,经常使用,并没有问题。我相信很多人都有类似的经历。许多大公司都使用MySQL取得了巨大的成功。

我担心的是,killall和服务重启并不起作用。特别是因为您使用的是Ubuntu LTS版本,该版本已超过2年,因此本身非常稳定。虽然我不能绝对肯定地说这个,但看起来你可能有硬件问题,或者至少是一个腐败的硬盘驱动器。您可能还有导致问题的软件和/或内核选项或设置。

我的建议是进行全面的硬件检查(至少检查内存和硬盘),然后重新安装。