如何在内存导致崩溃后自动重新启动 MariaDB。
我遇到了一个反复出现的问题,内存峰值导致我服务器上的 MariaDB 崩溃,从而导致我的网站离线。我正在寻找一种有效的方法或工具,可以在反复崩溃后立即重新启动 MariaDB,以保持网站运行,同时我正在努力寻找内存过载问题的永久解决方案。
是否有人处理过类似的问题,或者可以建议一种可靠的方法来在意外关闭后自动恢复 MariaDB 服务?
如何减少网站停机时间?
迄今进展:使用 nano 或 vim 等文本编辑器打开文件。例如:
什
sudo nano /etc/systemd/system/mariadb.service
在[Service]部分,我添加了以下几行:
配置文件
Restart=on-failure
RestartSec=5s
后:
什
sudo systemctl restart mariadb.service
sudo systemctl daemon-reload
现在的问题是这会起作用吗,我在这里做的对吗?有没有办法在不等待 mariadb 再次崩溃的情况下进行测试?
答案1
根据我的研究,最佳做法是:
# Restart crashed server only, on-failure would also restart, for example, when
# my.cnf contains unknown option
Restart=on-abort
RestartSec=5s
在这种情况下,您可以在应用程序和数据库之间放置类似 rabbitmq 的东西。这样,您可以在 php 中发出任意数量的请求,rabbitmq 会将它们排队并分批发送到数据库。