Amazon EC2:对微型实例上的“mysql 中止启动,因为 InnoDB:mmap(x 字节)失败;errno 12”进行故障排除
微型实例由于内存限制,Amazon EC2 上通常会遇到此问题。当 MySQL 尝试初始化缓冲池时,它失败并出现“errno 12”错误。这表明存在内存分配问题。
原因:
微型实例的 RAM 量有限,并且 MySQL 需要很大一部分用于缓冲池。如果没有足够的内存,MySQL 将无法启动。
解决方案:启用交换空间
添加交换空间会创建一个虚拟内存,其作用类似于额外的 RAM。它允许操作系统缓存非活动页面,为 MySQL 等关键进程释放物理内存。
步骤:
dd if=/dev/zero of=/swapfile bs=1M count=1024
这将创建 1GB 交换文件。
mkswap /swapfile
swapon /swapfile
/swapfile swap swap defaults 0 0
这将永久启用交换文件。
其他注意事项:
以上是为什么 Amazon EC2 Micro 上的我的 MySQL 实例以'InnoDB: mmap (x bytes) failed; errno 12”开头?的详细内容。更多信息请关注PHP中文网其他相关文章!