1. 首页
  2. 安全运维

MySQL服务一直挂掉的解决方法

MySQL服务一直挂掉的解决方法

这两天网站一直出现

Error establishing a database connection

登录服务器一看发现是MySQL服务挂了,这已经出现了好几次。今天我非得解决他不可。

 

先看下日志

130728  6:50:14 [Note] Plugin 'FEDERATED' is disabled.
130728  6:50:14 InnoDB: The InnoDB memory heap is disabled
130728  6:50:14 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130728  6:50:14 InnoDB: Compressed tables use zlib 1.2.3.4
130728  6:50:14 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
130728  6:50:14 InnoDB: Completed initialization of buffer pool
130728  6:50:14 InnoDB: Fatal error: cannot allocate memory for the buffer pool
130728  6:50:14 [ERROR] Plugin 'InnoDB' init function returned error.
130728  6:50:14 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
130728  6:50:14 [ERROR] Unknown/unsupported storage engine: InnoDB
130728  6:50:14 [ERROR] Aborting
130728  6:50:14 [Note] /usr/sbin/mysqld: Shutdown complete

百度了一波,发现是因为MySQL5.5占用内存太大,然后服务器撑不住就挂了。我也是无奈脸,MySQL也欺负穷人。

 

解决方法:

修改my.ini

innodb_buffer_pool_size = 64M

根据自己服务器的性能来配置MySQL的性能,太小网站卡,太大服务挂。你明白我意思吧?

如果可以的话你需要设置下swap分区。因为我的vps是没有swap分区的,通过fdisk -l 和 1mount 看不到swap的信息,需要手动添加一下。

添加swap分区的步骤:

2.1) dd if=/dev/zero of=/swapfile bs=1M count=1024
2.2) mkswap /swapfile
2.3) swapon /swapfile
2.4) 添加这行: /swapfile swap swap defaults 0 0 到 /etc/fstab

重启MySQL服务。

 

这两天再观察观察会不会挂了。

原创文章,作者:Y4er,未经授权禁止转载!如若转载,请联系作者:Y4er

发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论列表(2条)

  • DYBOY 2018年8月2日 下午3:27

    wordpress太庞大,调用数据太猛了~ 😈

    • Y4er 回复 DYBOY 2018年8月3日 下午3:09

      所以我换了oneinstack,自带缓存,现在没挂过了

联系我们

在线咨询:点击这里给我发消息

QR code