私は Ubuntu サーバー上で Drupal インスタンスを実行しています。しかし、MySQL サーバーが定期的にクラッシュする傾向があるようです。
取得しているログは次のとおりです:
131221 4:22:54 [Note] /usr/sbin/mysqld: Shutdown complete
131221 4:22:55 [Note] Plugin 'FEDERATED' is disabled.
131221 4:22:55 InnoDB: The InnoDB memory heap is disabled
131221 4:22:55 InnoDB: Mutexes and rw_locks use GCC atomic builtins
131221 4:22:55 InnoDB: Compressed tables use zlib 1.2.3.4
131221 4:22:55 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
131221 4:22:55 InnoDB: Completed initialization of buffer pool
131221 4:22:55 InnoDB: Fatal error: cannot allocate memory for the buffer pool
131221 4:22:55 [ERROR] Plugin 'InnoDB' init function returned error.
131221 4:22:55 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
131221 4:22:55 [ERROR] Unknown/unsupported storage engine: InnoDB
131221 4:22:55 [ERROR] Aborting
131221 4:22:55 [Note] /usr/sbin/mysqld: Shutdown complete
131223 8:22:00 [Note] Plugin 'FEDERATED' is disabled.
131223 8:22:00 InnoDB: The InnoDB memory heap is disabled
131223 8:22:00 InnoDB: Mutexes and rw_locks use GCC atomic builtins
131223 8:22:00 InnoDB: Compressed tables use zlib 1.2.3.4
131223 8:22:00 InnoDB: Initializing buffer pool, size = 128.0M
131223 8:22:00 InnoDB: Completed initialization of buffer pool
131223 8:22:00 InnoDB: highest supported file format is Barracuda.
InnoDB: Log scan progressed past the checkpoint lsn 4844461078
131223 8:22:00 InnoDB: Database was not shut down normally!
これを解決する方法について何か提案はありますか? my.cnf でさまざまな数字を試してみましたが、うまくいきませんでした。
答え1
システムに innodb バッファ プール用の十分な空きメモリがないようです。my.cnf ファイルで innodb_buffer_pool のサイズを小さくしてみてください。
innodb_buffer_pool_size = 10M
たとえば、mysql を再起動します。InnoDB バッファ プールのサイズを小さくすると、システムのパフォーマンスに影響する可能性があるため、この点に注意し、他のチューニングも検討する必要があります。