2015-11-14 3 views
1

Мой сервер MySQL не запускается. Когда я проверяю файл error.log, я нашел это. Не могли бы вы предложить мне, что делать?Mysql/InnoDB перестает работать на сервере Linode

151113 6:59:53 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead. 
151113 6:59:53 [Note] Plugin 'FEDERATED' is disabled. 
151113 6:59:53 InnoDB: The InnoDB memory heap is disabled 
151113 6:59:53 InnoDB: Mutexes and rw_locks use GCC atomic builtins 
151113 6:59:53 InnoDB: Compressed tables use zlib 1.2.3.4 
151113 6:59:53 InnoDB: Initializing buffer pool, size = 128.0M 
151113 6:59:53 InnoDB: Completed initialization of buffer pool 
InnoDB: Error: checksum mismatch in data file ./ibdata1 
151113 6:59:53 InnoDB: Could not open or create data files. 
151113 6:59:53 InnoDB: If you tried to add new data files, and it failed here, 
151113 6:59:53 InnoDB: you should now edit innodb_data_file_path in my.cnf back 
151113 6:59:53 InnoDB: to what it was, and remove the new ibdata files InnoDB created 
151113 6:59:53 InnoDB: in this failed attempt. InnoDB only wrote those files full of 
151113 6:59:53 InnoDB: zeros, but did not yet use them in any way. But be careful: do not 
151113 6:59:53 InnoDB: remove old data files which contain your precious data! 
151113 6:59:53 [ERROR] Plugin 'InnoDB' init function returned error. 
151113 6:59:53 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 
151113 6:59:53 [ERROR] Unknown/unsupported storage engine: InnoDB 
151113 6:59:53 [ERROR] Aborting 

151113 6:59:53 [Note] /usr/sbin/mysqld: Shutdown complete 

ответ

0

Я только что это, первоначально представляя себя как «mysql respawning too fast» ошибки в dmesg журналах.

От reading elsewhere Я проследил его до того, что вы нашли, и я думаю, что это получилось, что это указывает на какое-то нарушение в файлах метаданных InnoDB. InnoDB делает такие вещи, как обеспечение целостности транзакций/отката и целостности первично-внешнего ключа. Это то, о чем вам предупреждает ошибка «контрольной суммы».

Вы не говорите, как вы начинаете mysqld, но, возможно, вы используете какой-либо вариант на /etc/init.d/mysqld start или service mysqld start. Запустите демон явно как команды вместо:

sudo /usr/sbin/mysqld --innodb_force_recovery 0 

и, до тех пор, как вы знаете, почему вы делаете это, постепенно увеличивать значение --innodb_force_recovery нуля, пока не начнется процесс.

Предупреждение: Параметр innodb_force_recovery определяет, насколько серьезно mysqld попытается «принудительно зафиксировать» ошибку контрольной суммы в хранилище InnoDB. Таким образом, вы можете усугубить проблему или потребовать более поздней перестройки индекса, если вы принудительно исправите с большим числом здесь, потому что InnoDB будет делать все больше и больше, чтобы попытаться исправить себя.

Каждый раз, когда вы не перезапускаете mysqld с определенным номером, например. 2, вам следует искать сообщения об ошибках, которые вы получаете, прежде чем увеличивать их до 3, чтобы вы могли быть уверены, что поступаете правильно. Я не эксперт по каждой ошибке, которую вы можете получить, поэтому я не могу предоставить отзыв для каждого исключительного состояния: все, что я говорю, это использовать --innodb_force_recovery с осторожностью!

Смежные вопросы