wordpress建立数据库连接错误与个人网站内存管理

问题描述:当在vps上搭建个人网站的时候,由于vps上内存有限,在mysql配置过程中没有注意,随着访问次数和页面点击次数增多,mysql服务占用内存增大,进而使得swap逐渐被占满,最终导致mysql服务被kill,即mysql停止,在网页上出现“建立数据库连接错误”。

检测方式:此类情况出现时登录到vps中,输入如下代码
free -m
查看swap全部被使用
service mysql status
查看mysql运行状态
如果mysql停止运行,swap被占满,则属于这种情况。要解决这个问题,需要分为两个步骤,首先是将已经被占满的内存进行清理,其次是重新设置mysql服务。

一. 对swap进行清理

有两个可选的方案

  1. 当内存较小,而swap也已经占满,这是需要重启vps,采用如下命令:
    sudo reboot
  2. 当内存较大是,处于free的内存大于used的swap内存时,可以采用如下命令
    sudo su
    sync
    swapoff -a
    swapon -a
    sync
    echo 1 > /proc/sys/vm/drop_caches
    echo 2 > /proc/sys/vm/drop_caches
    echo 3 > /proc/sys/vm/drop_caches

    详细内容可参考ubuntu 手动释放缓存 (清理内存cache)

二. 对mysql进行配置

“出现建立数据库连接错误”的关键原因是mysql配置与vps硬件配置不相符,导致了mysql服务调用的内存大于实际物理内存,最终导致mysql服务停止。因此,需要调整mysql配置以使其符合实际硬件配置的可承受范围。mysql配置文件可以通过如下命令进行编辑
vim /etc/mysql/mysql.conf.d/mysqld.cnf
具体配置可以参考mySQL内存及虚拟内存优化设置

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注