
发布时间:2025-11-13 19:36:49 点击:0
宝塔面板是一款简单好用的Linux/Windows服务器运维管理面板,被外贸独立站建站用户广泛用于配置服务器环境,包括:LAMP/LNMP、网站、数据库、FTP、SSL等,这样可以通过Web端轻松管理服务器。

在外贸建站过程中,有使用宝塔面板运维独立服务器的用户反馈会遇到出现“Error establishing a database connection”数据库连接错误,导致网站无法正常访问的情况。这种错误主要出现在腾讯云等一些轻量型服务器上,因为某些原因(比如:恶意攻击、服务器配置较低等)导致某个时间节点出现了内存不足或者CPU占用100%,服务器负载过高而导致MySQL数据库服务意外停止。经过WPPOP技术人员的耐心排查,我们发现,其服务器环境中的 MySQL 服务自动关闭,停止运行了。可在宝塔面板的【 软件商店 – 已安装 】的应用分类列表中查看 MySQL 运行状态,如下图所示:

解决方法 1:手动重启 MySQL 服务
直接在宝塔面板的【 软件商店 – 已安装 】的应用分类列表中找到 MySQL 软件,点击右侧对应的 设置 项,在弹出操作窗口中,点击 启动 ,重新打开 MySQL 服务,如下图所示:

但是,这种方法治标不治本,无法保证后面不再出现 MySQL 服务自动停止的问题。
解决方法 2:开启数据库“守护进程”开关
在宝塔面板的【 数据库 】中找到“高级设置”,点击下拉打开 守护进程 开关,如下图所示:

守护进程 可以在MySQL数据库服务停止后自动启动,保证MySQL服务一直运行。
解决方法 3:安装宝塔面板里的 Linux工具箱
在宝塔面板的【 应用商店 】中搜索“Linux工具箱”,点击 安装 按钮,如下图所示:

安装好 Linux工具箱 后,在 Linux工具箱 的弹窗设置中,找到 Swap/虚拟内存 设置项,根据使用的服务器配置来进行虚拟内存的设置,如下图所示:

不管网站使用的服务器内存多大,都建议添加 Swap。
swap是Linux下的虚拟内存,设置适当的swap可增加服务器稳定性
建议swap容量在真实内存容量的1.5倍左右,若您的服务器内存大于4GB,可设1-2GB的固定值
swap文件默认保存在/www/swap,设置前请确保磁盘空间够用
若您不需要swap,请将容量设为0
OVZ虚拟架构机器不可用此功能
Swap/虚拟内存 推荐值:
2G 和 2G 以下内存的服务器,建议设置成和物理内存相同容量的 SWAP;
2G 以上的内存的服务器,建议设置为 2G。如果网站程序特别耗内存,2G 内存以上的 Swap 也可以设置与内存相同容量。
解决方法 4:安装 PHP 缓存加速扩展
出现“MySQL 服务自动关闭”问题的一大原因就是服务器过载,所以,可以优化服务器中的 PHP 和缓存环境来优化配置,从而,增加服务器的稳定性。
在宝塔面板的【 软件商店 – 已安装 】的应用分类列表中找到当前网站运行使用的 PHP 版本,点击右侧对应的 设置 项,在弹出操作窗口中,切换到 安装扩展,在扩展列表中找到 opcache 和 memcached 并安装,如下图所示:

安装好 opcache 和 memcached 之后,可以明显地提升服务器运行效率,很大程度上降低服务器的负载,减少 CPU 和 内存的占用。
如果以上方法执行后,效果都不够理想,那很可能就是你当前使用的服务器配置过低了,建议升级服务器配置,主要是CPU和内存。
解决方法 5:添加 MySQL 服务自动重启的 Shell 脚本
在宝塔面板中的计划任务中,添加 MySQL 数据库自动重启的 shell 脚本,定时自动重启运行中的 MySQL 数据库,缓减 MySQL 数据库的压力。
pgrep -x mysqld &> /dev/null
if [ $? -ne 0 ];then
bash /www/server/panel/script/rememory.sh
/etc/init.d/mysqld start
fi
把上面的 Shell 脚本,添加到下图位置:

MySQL进程守护的执行周期不建议设置的过小,可以是1小时30分钟;如果该脚本的执行周期时间设置的过短,当你在网站后台更新发布文章或者升级网站程序时,可能会造成不必要的错误!
如果 MySQL 数据库已经停止,通过添加下面的 shell 脚本自动检测 MySQL 数据库是否为停止状态,如果检测到 MySQL 数据库停止,则自动重启。相关 shell 脚本代码如下:
#!/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
把上面的 Shell 脚本,添加到下图位置:

MySQL监控重启的执行周期,可以设置为1分钟检测一次,也就当你 MySQL 数据库停止后,1分钟内就会自动重启,确保网站可以正常访问!
原文链接:https://www.wppop.com/how-to-fix-bt-mysql-auto-stop.html
客户对我们的评价
来自内蒙古刘先生的客户反馈
必须给他们家一个五星好评,技术小哥的活儿好还态度好,不懂的问题都很快帮我们解决了,后续还有相应的配套教程服务,做出来的网站很符合我们的要求,而且后台真的很简单,太给力了后期我们有什么修改的自己也可以自己上手直接操作就可以的,有些还需要技术指导-下。但是一般都是特别简单,指导一下我就懂了,布局合理、清晰,稳定性很好。一看就是专业团队的实力,非常给力!
来自内蒙古张女士的客户反馈
技术工作认真细致,服务热情,工作效率也超快,想大家之所想,的确不错,值得点赞。本来怕网上不太专业,现在看来都是多虑,程序员很耐心,本次合作很愉快也很满意,无论从客服还是技术都体现了你们的服务很专业,网站操作很方便,是我想要的,很诚心的评价。技术工作认真细致,服务热情,工作效率也超快,想大家之所想,的确不错,值得点赞。本来怕网上不太专业,现在看来都是多虑,程序员很耐心,本次合作很愉快也很满意,无论从客服还是技术都体现了你们的服务很专业,网站操作很方便,是我想要的,很诚心的评价。靠谱人。
来自内蒙古陈先生的客户反馈
小程序已经搞完且运营了一小段时间,售后服务特别专业耐心,有问必答,不厌其烦,开始不太熟悉电脑的我也能独立操作后台了,商城功能都是我想要的,希望以后一如既往,太好了,必须给赞,就非常满意,小白都教会了如何使用这套系统,大家也放心订购。感谢。真心的感谢,不耐其烦的给我解答问题。点赞,点赞
来自内蒙古李先生的客户反馈
我都是使用了一段时间才来说几句的,如果你想真正商用,建议选择这家真的不错,或者比起其他家费用高点,但是我觉得很靠谱,运营也放心
你可能还想看:
上一篇: WordPress更换域名、修改网址的详细步骤与注意事项
下一篇:WordPress修复 ‘cURL error 28: Connection timed out’连接超时错误的方法