宝塔面板MySQL数据库优化

9

记录这几天遇到的一个MySQL数据库经常性的自动停止的问题。

描述

现在我用的服务器是学生机1核2G的内存,服务器管理面板用的是宝塔,也没有对数据库进行设置,直接开用,导致2G的内存直接爆表,老是把MySQL服务给关停了。

处理

同样少不了一顿百度,最终用了以下几个方法。

1.增加虚拟内存

“软件商店”--“系统工具”--找到“Linux工具箱”,点击设置,选择“Swap/虚拟内存”,添加Swap

根据下面的提示计算、设置具体的数值即可。很可能会已用那里会一直为0,因为有接下来的设置。

2.设置宝塔数据库自动重启shell脚本

自动检测数据库是否停止,如果检测到数据库停止,自动重启,我这里设置了1分钟的时间周期。

#!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH pgrep -x mysqld /dev/null if [ $? -ne 0 ] echo At time:$(date) :MySQL is stop . /var/log/mysql_messages service mysqld start fi

3.MySQL数据库性能调整

从宝塔面板进入到MySQL管理界面:

4.关闭数据库的二进制日志

参考文章:

宝塔mysql二进制日志文件如何关闭和删除? | 品自行 (pinzixing.com)

关闭二进制日志文件解决宝塔面板mysql服务无法启动 | 品自行 (pinzixing.com)

可以看看上面那两个文章了解数据库二进制日志的作用,简单来说就会恢复数据库,进行日志记录。

由于我用阿里云OSS对数据库进行备份,所以并不需要它。看自己实际情况,磁盘空间充足的情况下,建议打开。

设置完后记得重启下服务器。