Właśnie to miałem, początkowo prezentując się jako „mysql odradza się zbyt szybko
" błąd w dmesg
dzienniki.
Od czytanie gdzie indziej Prześledziłem to do tego, co znalazłeś i myślę, że doszedłem do tego, że wskazuje to na jakiś rodzaj uszkodzenia w plikach metadanych InnoDB. InnoDB zajmuje się między innymi zapewnianiem integralności transakcji/wycofywania i integralności klucza podstawowego i obcego. O tym ostrzega błąd „niezgodności sumy kontrolnej”.
Nie mówisz, jak uruchamiasz mysqld, ale może używasz jakiegoś wariantu na /etc/init.d/mysqld start
lub service mysqld start
. Zamiast tego uruchom demona jawnie jako polecenie:
sudo /usr/sbin/mysqld --innodb_force_recovery 0
i tak długo, jak wiesz, dlaczego to robisz, stopniowo zwiększaj wartość zerową --innodb_force_recovery
do czasu rozpoczęcia procesu.
Ostrzeżenie: innodb_force_recovery parametr określa, jak poważnie mysqld będzie próbował "wymusić naprawienie" błędu sumy kontrolnej w pamięci InnoDB. Możesz więc pogorszyć problem lub potrzebować późniejszej przebudowy indeksu, jeśli wymusisz naprawę z wysoką liczbą tutaj, ponieważ InnoDB będzie robił coraz bardziej drastyczne rzeczy, aby spróbować naprawić sam siebie.
Za każdym razem, gdy nie uda Ci się ponownie uruchomić mysqld
z określonym numerem, np. 2
, powinieneś poszukać komunikatów o błędach, które otrzymasz, zanim zwiększysz je do 3
więc możesz mieć pewność, że postępujesz właściwie. Nie jestem ekspertem od każdego błędu, który możesz otrzymać, więc nie mogę dostarczyć informacji zwrotnych dla każdego wyjątkowego stanu:mówię tylko, że użyj --innodb_force_recovery
ostrożnie!