2014-11-23 2 views
2

Я размещаю сайт Wordpress на цифровом экземпляре океана, который является неуправляемым облачным экземпляром. Раньше у меня была проблема, что когда я пошел на свой сайт, он сказал, что соединение с базой данных не установлено. Итак, чтобы заставить его работать, мне нужно было перезапустить службу mysql.MySQL остановлен Fatal Error

Теперь я снова получаю такую ​​же ошибку, и эта частота также высока. Так что я пошел в журнал ошибок, и я думаю, что эта часть, я вставляя здесь указывают на проблемы:

141123 3:15:39 InnoDB: The InnoDB memory heap is disabled 
141123 3:15:39 InnoDB: Mutexes and rw_locks use GCC atomic builtins 
141123 3:15:39 InnoDB: Compressed tables use zlib 1.2.3.4 
141123 3:15:39 InnoDB: Initializing buffer pool, size = 128.0M 
InnoDB: mmap(135987200 bytes) failed; errno 12 
141123 3:15:39 InnoDB: Completed initialization of buffer pool 
141123 3:15:39 InnoDB: Fatal error: cannot allocate memory for the buffer pool 
141123 3:15:39 [ERROR] Plugin 'InnoDB' init function returned error. 
141123 3:15:39 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 
141123 3:15:39 [ERROR] Unknown/unsupported storage engine: InnoDB 
141123 3:15:39 [ERROR] Aborting 

Так что я думаю, что проблема в том, что он не может выделить память для буферного пула, и как это фатальная ошибка, то это, вероятно, то, что останавливает MySQL. Но проблема в том, что я не знаю, как это исправить, и если это побуждает думать, что это вызывает проблемы? Так что-то связано с конфигурацией сервера или может быть какой-то дикий запрос в моем коде? Пожалуйста, дайте мне знать, что вы думаете, может решить эту проблему?

спасибо заранее, ребята.

---- Обновление ------

После попытки исправить в @Sajidkhan (один из ответов ниже). Sill mysql закрывается через некоторое время, однако на этот раз журнал немного отличается. Ниже я сейчас вижу.

141206 14:38:59 [Note] Plugin 'FEDERATED' is disabled. 
141206 14:38:59 InnoDB: The InnoDB memory heap is disabled 
141206 14:38:59 InnoDB: Mutexes and rw_locks use GCC atomic builtins 
141206 14:38:59 InnoDB: Compressed tables use zlib 1.2.3.4 
141206 14:38:59 InnoDB: Initializing buffer pool, size = 128.0M 
141206 14:38:59 InnoDB: Completed initialization of buffer pool 
141206 14:38:59 InnoDB: highest supported file format is Barracuda. 
InnoDB: The log sequence number in ibdata files does not match 
InnoDB: the log sequence number in the ib_logfiles! 
141206 14:38:59 InnoDB: Database was not shut down normally! 
InnoDB: Starting crash recovery. 
InnoDB: Reading tablespace information from the .ibd files... 
InnoDB: Restoring possible half-written data pages from the doublewrite 
InnoDB: buffer... 
141206 14:38:59 InnoDB: Waiting for the background threads to start 
141206 14:39:00 InnoDB: 5.5.31 started; log sequence number 512843890 

ответ

0

Если вам действительно нужно пропустить-InnoDB (случай использования: низкий объем памяти), то, конечно, вы не должны комментировать его. Однако, если InnoDB является механизмом хранения по умолчанию, сервер не запустится до тех пор, пока вы не укажете ему, какой механизм хранения использовать вместо него, например. default-storage-engine = myisam для MyISAM.

Попробуйте это:

sudo -u mysql mysqld --skip-innodb --default-storage-engine=myisam 
+0

, но что делать, если мои базы данных используют innodb в качестве механизма хранения, так что это повлияет на изменение механизма хранения по умолчанию? Я имею в виду, что мы будем только менять механизм хранения по умолчанию с помощью вышеприведенной команды, поэтому, когда вам нужно будет использовать innodb, тогда не повторится ли такая же ошибка снова? – Hafiz

+0

Я пробовал это, но это не сработало. Проблема с db сохраняется, и MySQL остановлен. – Hafiz