sql >> Database >  >> RDS >> Mysql

Mysql/InnoDB werken niet meer op Linode Server

Ik heb dit net gehad, aanvankelijk presenterend als een "mysql komt te snel terug " fout in de dmesg logboeken.

Van elders lezen Ik heb het herleid tot wat je hebt gevonden, en ik denk dat dit wijst op een of andere vorm van corruptie in de metadatabestanden van InnoDB. InnoDB doet zaken als het waarborgen van de integriteit van transacties/terugdraaien en de integriteit van de primaire buitenlandse sleutel. Dat is waar de "checksum mismatch"-fout je voor waarschuwt.

Je zegt niet hoe je mysqld start, maar misschien gebruik je een variant op /etc/init.d/mysqld start of service mysqld start . Voer in plaats daarvan de daemon expliciet als een opdracht uit:

sudo /usr/sbin/mysqld --innodb_force_recovery 0

en, zolang je weet waarom je het doet, verhoog je geleidelijk de nulwaarde van --innodb_force_recovery totdat het proces begint.

Waarschuwing: De innodb_force_recovery parameter bepaalt hoe serieus mysqld zal proberen de checksum-fout in de InnoDB-opslag te "force-fixen". U kunt het probleem dus verergeren, of de index later opnieuw moeten opbouwen, als u hier een hoog getal forceert, omdat InnoDB steeds drastischere dingen zal doen om zichzelf op te lossen.

Elke keer dat u mysqld niet opnieuw opstart met een bepaald nummer b.v. 2 , moet u zoeken naar de foutmeldingen die u krijgt voordat u deze verhoogt naar 3 zodat u zeker weet dat u het juiste doet. Ik ben geen expert op het gebied van elke fout die je zou kunnen krijgen, dus ik kan geen feedback geven voor elke uitzonderlijke toestand:ik zeg alleen maar:gebruik --innodb_force_recovery met zorg!




  1. MySQL-injectiebescherming en kwetsbaarheidstekens met behulp van PHP

  2. Tekst of numeriek veld - Een eenvoudige SQL-methode om van gegevenstype te wisselen

  3. PostgreSQL/JDBC en TIMESTAMP versus TIMESTAMPTZ

  4. Hibernate Query-probleem met Informix