Amazon EC2、MySQL 由于内存不足而中止启动(errno 12)
在 Amazon EC2 微实例上运行 MySQL 时,您可能会遇到以下情况:遇到错误“InnoDB: mmap (x bytes) failed; errno 12.”此错误表明 MySQL 使用的存储引擎 InnoDB 由于系统内存不足,无法为缓冲池分配必要的内存。
要解决此问题,您可以按照以下步骤操作:
添加交换空间: 微实例默认没有专用交换空间,可以通过创建交换文件来解决。运行以下命令:
示例配置
以下是 my.cnf 配置示例,增加了缓冲池大小和交换空间:
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 innodb_buffer_pool_size=1G [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
注意:innodb_buffer_pool_size 的具体值应根据您的情况进行调整应用程序的内存要求。它不应超过可用的系统内存。
以上是为什么 Amazon EC2 微实例上的 MySQL 中止启动并出现错误 12(内存不足)?的详细内容。更多信息请关注PHP中文网其他相关文章!