【IT168 评论】故障排除对于所有人来说都不会是一件有趣的事情,尤其是在没有崩溃报告的情况下。如果MySQL因内存不足而崩溃时应该怎么办?Peter Zaitsev曾在2012年写过的一篇博客中给出了许多有用的提示,而利用新版本的MySQL的(5.7及以上)和performance_schema,我们可以更轻松地解决MySQL的内存分配问题。
本文将向大家介绍如何解决MySQL的内存分配问题。
首先,我们先来看一下在哪些情况下的MySQL会因内存不足而崩溃:
当MySQL的尝试分配比可用内存更多的内存时,例如没有正确设置innodb_buffer_pool_size;
服务器上还有一些其他进程可以分配内存,比如它应用程序(使用Java,Python,PHP),网络服务器,或者是备份(即mysqldump的)。
MySQL的中的内存泄漏。这是最糟糕的情况,我们需要进行故障排除。
以上,就是常见的三种MySQL的因内存不足而崩溃的情况,其中前两种情况比较好解决,而第三种情况就比较棘手。
从哪里开始排除MySQL的内存泄漏问题
假设这是一个Linux的服务器,我们首先要 检查的Linux操作系统和配置 ,
1.检查mysql错误日志和Linux日志文件(即/ var / log / messages或/ var / log / syslog)来识别崩溃。你可能会看到OOM Killer杀死MySQL