最近博客又抽风了,打开主页后提示 Error Establishing a Database Connection 。仔细想想,应该就是数据库服务器 mariadb 挂了;以前也遇到过类似的问题。经过分析日志,并结合网上的资料最终解决了问题。

解决方法:

打开 /etc/my.cnf 查找 innodb_buffer_pool_size 将值设置为64M,一般是因为这个地方的值设置的过高内存紧张导致数据库因为内存不足而挂掉。

基本上上面设置之后,应该不会再遇到数据库挂掉的问题了,但是如果设置之后,依然会遇到此类问题,可以考虑设置 swap 交换分区,当系统因为突发事件导致内存不足时,软件会将一部分数据通过 swap 进行中转,不至于使软件崩溃。

运行下面命令设置 swap (1G):

dd if=/dev/zero of=/swapfile bs=1024 count=1048576
mkswap /swapfile
swapon /swapfile
最后,在 /etc/fstab 中添加下面一行:
/swapfile       swap    swap defaults   0 0
重启服务器,使用 free -m 即可查看到内存情况了。

标签: MariaDB, MySQL, VPS

已有 31 条评论

  1. x哈哈

  2. linux机器最起码要分/、/boot、swap三个区,最好也把/home、/usr、/var、/tmp这几个经常读写文件目录单独分区。

    1. 唉,看着探针,内存缓缓往上涨,,,,不晓得数据库还会不会崩,要不就弄个定时重启vps :grin:

      1. 哈哈,内存吃紧尴尬呀,swap多分配点缓和下。

        1. 不科学啊,1g内存放我的站应该绰绰有余才对,总觉得是我的环境没搞好

  3. 同志,把这个月党费先交了。 :neutral:

    1. 哎呦?durex.im?好域名,好邮箱,好淫荡~

  4. :twisted: 大发叫你交党费,呵呵。

  5. 同志,把这个月房费先交了。 :smile:

  6. 感觉用RDS真是方便……

    1. 好奢侈啊,关系型数据库那么贵

  7. 终于更新了-0-

  8. 访问量这么大啊,服务器都快不行了 :smile: !

    1. 感觉是我的配置问题。。。以前1G绰绰有余,怎么现在就那么紧张呢。。。

  9. Ray Ray

    哈哈,把多余的服务全都k掉。想当年我用32M的跑Typecho一天几百的流量妥妥的! :idea: :idea:

    1. 32M。。。天才,这样的vps现在都很难买到了

  10. 早就用2G内存了。。。

    1. :cry: 没你土豪啊,求赞助啊,我觉得我的几个站512M就足够用了,看样子还是得配置LNMP才行

    2. 后悔装mariadb,,安装建议是2G内存+,我非安装。。。内存吃紧,郁闷

  11. :neutral: 瞅瞅

  12. :cry: 求包养了

    1. 你已经被大雄包养了

  13. 好久没过来了~ :smile:

  14. 这个问题我之前遇到过,后来只得加内存。 你的这个方法很好

  15. oneinstack好像不必考虑这个问题。 :oops:

  16. 我用的是阿里的RDS云数据库,远程连接,搬家超级方便,不用管数据库的。。。

  17. 我的主机马上过期了,准备迁移中,准备放在自己的服务器上,用docker运转

  18. 哈哈,换高配VPS,彻底解决问题! :smile:

  19. 博客好棒!!!

  20. 解决的很好额 :smile:

  21. 同求包养

添加新评论