Току-що получих това, първоначално се представя като "mysql се възстановява твърде бързо
" грешка в dmesg
регистрационни файлове.
От четене другаде Проследих го до това, което намерихте, и мисля, че разбрах, че това сочи към някакъв вид повреда във файловете с метаданни на 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
с внимание!