Jeg har lige haft dette og præsenterede sig selv som en "mysql genstarter for hurtigt
" fejl i dmesg
logs.
Fra læsning andetsteds Jeg sporede det ned til det, du fandt, og jeg tror, det er lykkedes, at dette peger på en form for korruption i InnoDBs metadatafiler. InnoDB gør ting som at sikre transaktions-/tilbageføringsintegritet og primær-udenlandsk nøgleintegritet. Det er, hvad fejlen "checksum mismatch" advarer dig om.
Du siger ikke, hvordan du starter mysqld, men måske bruger du en eller anden variant på enten /etc/init.d/mysqld start
eller service mysqld start
. Kør dæmonen eksplicit som en kommando i stedet:
sudo /usr/sbin/mysqld --innodb_force_recovery 0
og så længe du ved, hvorfor du gør det, skal du gradvist øge nulværdien af --innodb_force_recovery
indtil processen starter.
Advarsel: innodb_force_recovery parameter bestemmer, hvor seriøst mysqld vil forsøge at "tvinge" kontrolsumfejlen i InnoDB-lageret. Så du kan gøre problemet værre eller have behov for senere genopbygning af indekset, hvis du tvangsfixer med et højt tal her, fordi InnoDB vil gøre flere og mere drastiske ting for at prøve at ordne sig selv.
Hver gang du undlader at genstarte mysqld
med et bestemt nummer f.eks. 2
, bør du søge efter de fejlmeddelelser, du får, før du øger den til 3
så du kan være sikker på, at du gør det rigtige. Jeg er ikke ekspert i alle fejl, du kan få, så jeg kan ikke give feedback for enhver ekstraordinær tilstand:alt, hvad jeg siger, er, brug --innodb_force_recovery
med omhu!