宝塔面板是一款简单好用的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 服务自动重启的 Shell 脚本
在宝塔面板中的计划任务中,添加 MySQL 数据库自动重启的 shell 脚本,通过该 shell 脚本自动检测宝塔MySQL 数据库是否为停止状态,如果检测到 MySQL 数据库停止,则自动重启。相关 shell 脚本代码如下:
pgrep -x mysqld &> /dev/null
if [ $? -ne 0 ];then
bash /www/server/panel/script/rememory.sh
/etc/init.d/mysqld start
fi
把上面的 Shell 脚本,添加到下图位置:

解决方法 3:安装 PHP 缓存加速扩展
出现“MySQL 服务自动关闭”问题的一大原因就是服务器过载,所以,可以优化服务器中的 PHP 和缓存环境来优化配置,从而,增加服务器的稳定性。
在宝塔面板的【 软件商店 – 已安装 】的应用分类列表中找到当前网站运行使用的 PHP 版本,点击右侧对应的 设置 项,在弹出操作窗口中,切换到 安装扩展,在扩展列表中找到 opcache 和 memcached 并安装,如下图所示:

安装好 opcache 和 memcached 之后,可以明显地提升服务器运行效率,很大程度上降低服务器的负载,减少 CPU 和 内存的占用。
如果以上方法执行后,效果都不够理想,那很可能就是你当前使用的服务器配置过低了,建议升级服务器配置,主要是CPU和内存。
新手刚用宝塔,解决了问题