Amazon EC2、MySQL 由於記憶體不足而中止啟動(errno 12)
在Amazon EC2 微型執行個體上執行MySQL 時,您可能會執行MySQL 時,您可能會遇到以下情況:遇到錯誤「InnoDB:mmap(x位元組)失敗;errno 12。」此錯誤表明MySQL 使用的儲存引擎 InnoDB 由於系統記憶體不足,無法為緩衝池分配必要的記憶體。
要解決此問題,您可以按照以下步驟操作:
新增交換空間: 微實例預設沒有專用交換空間,可以透過建立交換文件來解決。執行以下指令:
對於任務關鍵型應用程序,請考慮使用 Amazon Relational Database Service (RDS),這是一種處理內存的託管資料庫服務自動分配和縮放。
範例設定
[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
以下是my.cnf 配置範例,增加了緩衝池大小和交換空間:
注意:innodb_buffer_pool_size 的具體值應根據您的情況進行調整應用程式的記憶體要求。它不應超過可用的系統記憶體。以上是為什麼 Amazon EC2 微型執行個體上的 MySQL 中止啟動並出現錯誤 12(記憶體不足)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!