MySQL 崩溃的最常见原因是内存不足导致停止或无法启动。要检查这一点,需要查看崩溃后的 MySQL 错误日志。
首先,尝试启动 MySQL 服务器,键入
1sudo systemctl start mysql
然后查看错误日志,找出导致 MySQL 崩溃的原因。您可以使用 less
一次一页地查看日志:
1sudo less /var/log/mysql/error.log
表示内存不足的常见信息有 "内存不足 "或 "mmap 无法分配"。
内存不足的潜在解决方案有
优化 MySQL 配置 。一个很好的开源工具是 MySQLtuner。运行 MySQLtuner 脚本将输出一组对 MySQL 配置文件(mysqld.cnf
)的建议调整。请注意,在使用 MySQLTuner 之前,服务器运行的时间越长,其建议就越准确。要估算当前设置和 MySQLTimer 建议的内存使用量,请使用此 MySQL 计算器。
- 减少你的网络应用程序在页面加载时对 MySQL 的依赖 。这通常可以通过在应用程序中添加静态缓存来实现。这方面的例子包括 Joomla(其内置缓存功能可以启用)和 WordPress 插件 WP Super Cache,后者增加了此类功能。
- 升级到更大的 VPS 。对于使用 MySQL 数据库的服务器,我们建议至少配备 1GB 内存的服务器,但数据的大小和类型会极大地影响内存需求。
请注意,尽管升级服务器是一个潜在的解决方案,但只有在您调查和权衡了所有其他选择之后,才会建议您这样做。升级后的服务器拥有更多的资源,同样也会花费更多的钱,所以只有在最终确实是最佳选择的情况下,你才应该调整服务器的大小。还要注意的是,MySQL 文档包括许多其他建议,用于诊断和预防崩溃。