Amazon EC2 - 建立数据库连接时出错 - mysql已死但已锁定

时间:2016-05-11 08:28:09

标签: php mysql wordpress amazon-web-services amazon-ec2

我知道有很多关于这方面的问题,但遗憾的是,解决方案似乎没有解决我的问题。我花了很多时间找到解决方案,并且凭借我有限的知识从我的阅读中获得了很多。

我正在使用亚马逊免费套餐并托管Wordpress网站。我已经安装了LAMP和Wordpress。该网站现在处于开发模式。最初一切都很好,但经过一段时间突然我开始收到建立数据库连接错误的问题非常频繁。

问题出现时的一些发现:

  1. sudo service mysqld status返回mysqld dead but subsys locked
  2. 更深入日志:

    InnoDB: Initializing buffer pool, size = 10.0M
    InnoDB: mmap(10731520 bytes) failed; errno 12
    InnoDB: Completed initialization of buffer pool
    InnoDB: Fatal error: cannot allocate memory for the buffer pool
    Completed initialization of buffer pool
    InnoDB: Fatal error: cannot allocate memory for the buffer pool
    [ERROR] Plugin 'InnoDB' init function returned error.
    [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
    [ERROR] Unknown/unsupported storage engine: InnoDB
    [ERROR] Aborting
    /usr/libexec/mysql55/mysqld: Shutdown complete
    
  3. 所以我所做的如下所示,但它们中没有一个适用于我:

    1. 重新启动httpdmysqld>>>>>好几分钟然后再次遇到问题
    2. 制作1GB>>>>>的交换文件即使2GB也不适合我。好一阵子(几个小时)但问题又回来了
    3. innodb_buffer_pool_size降低至10MB,但仍然不满意
    4. 我真的不知道如何排序这个问题。我意识到每当我开始使用新服务器时,问题就会好一段时间。非常感谢任何帮助和指导。

      感谢。

1 个答案:

答案 0 :(得分:0)

当您在AWS免费层EC2微实例上运行MYSQL时,您提到的所有上述问题都会发生,因为它已经拥有更少的内存。当您实时启动网站时,此问题会更多地升级。我建议您在免费套餐中启动单独的AWS RDS MYSQL服务器,并将其用作Wordpress网站的数据库。请检查此链接AWS RDS Free Tier

您将拥有许多优势,例如在您使用Amazon RDS时无需跟上供应商安全性和性能补丁,这由AWS负责。 RDS还包括备份和恢复服务,消除了待办事项列表中的另一项常见任务。