zoukankan      html  css  js  c++  java
  • 阿里云vps上mysql挂掉的解决办法

    阿里云vps上mysql挂掉的解决办法

    用阿里云的vps用作blog服务器,系统很稳定,已经100多天一直运行正常,大概从上个月开始发现blog的mysql会有时挂掉,会收到短信通知。之前没太追究,重新启动了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
    

    解决方法:
    1) 在 /etc/mysql/my.cnf 的 mysqld 下增加下面一句:

    innodb_buffer_pool_size = 64M
    

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

    2) 添加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
    

    目前已经设置了swap分区,并重启了mysql,后续观察一下看看还会不会出现吧。

    参考:http://stackoverflow.com/questions/10284532/amazon-ec2-mysql-aborting-start-because-innodb-mmap-x-bytes-failed-errno-12

    补充,经过近2个月观察,没再发生down掉的情况。

  • 相关阅读:
    mybatis中的#和$的区别
    spring ioc三种注入方式
    JSP中动态INCLUDE与静态INCLUDE的区别
    j2ee部分
    面试 框架部分
    注册Jdbc驱动程序的三种方式
    union和union all有什么不同?
    面试 JavaWeb 部分
    Cordova插件开发(iOS/Android)--看这篇就够了
    程序员,请不要只看技术
  • 原文地址:https://www.cnblogs.com/archoncap/p/5866466.html
Copyright © 2011-2022 走看看