Welk apparaat of welke software je ook gebruikt, er is altijd een risico dat gegevens beschadigd raken. Wat databases betreft betekent “corrupt” dat sommige of alle informatie in de tabellen niet meer leesbaar of toegankelijk is. Er zijn veel redenen waarom dit kan gebeuren, en het is van vitaal belang om te weten hoe je het kunt oplossen.
Gelukkig is het gemakkelijker dan je zou verwachten om een MySQL tabel te repareren. Er zijn verschillende manieren om dit te doen, waaronder het gebruik van ingebouwde MySQL reparatieprogramma’s en database management software. Het is dan ook zeer waarschijnlijk dat je al je gegevens kunt herstellen.
In dit artikel bespreken we hoe databasecorruptie ontstaat en leggen we uit hoe je je tabellen kunt controleren op fouten. Daarna bespreken we vier methoden om MySQL databases te repareren, zodat je op elke situatie voorbereid bent. Laten we aan de slag gaan!
Waardoor raakt een MySQL tabel beschadigd?
Datacorruptie verwijst naar fouten in computergegevens die kunnen optreden tijdens het schrijven, lezen, opslaan of verwerken. In MySQL tabellen (en MongoDB of MariaDB tabellen) kan corruptie gegevensverlies veroorzaken, de databaseprestaties belemmeren, of zelfs de tabellen onleesbaar maken.
Met andere woorden, een tabel is corrupt als er een probleem is met de integriteit van de gegevens, of als de databasesoftware die gegevens niet kan interpreteren.
Er zijn vele redenen waarom een MySQL tabel corrupt kan raken, zoals:
- Hardwareproblemen. Defecte hardware componenten, zoals harde schijven of geheugen, kunnen fouten in je gegevens introduceren.
- Softwarefouten. Bugs in MySQL of het besturingssysteem kunnen leiden tot gegevenscorruptie, vooral als ze crashes of onverwacht gedrag veroorzaken.
- Stroomuitval. Plotselinge stroomstoringen kunnen de processen voor het schrijven van gegevens onderbreken, met onvolledige of beschadigde gegevens tot gevolg.
- Verkeerd afsluiten. Als MySQL of de server niet goed wordt afgesloten, kunnen gegevens niet goed naar de schijf worden geschreven, wat leidt tot corruptie.
- Fouten in het bestandssysteem. Problemen met het onderliggende bestandssysteem kunnen leiden tot gegevenscorruptie of zelfs gegevensverlies.
- Malware of hackpogingen. Kwaadaardige software of onbevoegde toegang kan leiden tot gegevenscorruptie, opzettelijk of onopzettelijk.
De beste manier om veel van deze problemen te voorkomen is het gebruik van een veilige omgeving voor je databasehosting. Als je webhost je toegang geeft tot hoogwaardige hardware en prestaties, heb je minder kans op een probleem met database corruptie.
Hoe kun je een MySQL tabel op fouten controleren?
Als je je zorgen maakt over mogelijke corruptie, kun je het “CHECK TABLE” commando gebruiken om een databasetabel op fouten te checken. Dit commando onderzoekt de structuur en de gegevens van de tabel op inconsistenties of beschadigde gegevens.
De handmatige manier om dit te doen is door in de terminal het commando CHECK TABLE
uit te voeren. Hiervoor moet je de MySQL commandoregel openen, verbinding maken met de database die de tabel bevat, en dit commando uitvoeren:
CHECK TABLE table_name;
Vervang “table_name” door de naam van de tabel die je wilt controleren. Het commando geeft een statusbericht dat aangeeft of de tabel in orde is, waarschuwingen heeft, of fouten bevat.
Er zijn echter eenvoudiger manieren om deze taak uit te voeren. Als je toegang hebt tot een databasebeheerprogramma, zoals phpMyAdmin, kun je dat gebruiken om tabellen te controleren via een gebruikersinterface. Ga hiervoor met phpMyAdmin naar de database van je site, selecteer een database en kies de tabellen die je wilt controleren:
Nadat je de optie Check Table hebt gekozen, klik je op Go. phpMyAdmin geeft een nieuwe pagina terug met statusoverzichten voor elke tabel. Als een tabel onbeschadigd is, zie je een eenvoudige OK boodschap.
Hoe lang duurt het om een MySQL tabel te repareren?
De tijd die het kost om een MySQL tabel te repareren hangt af van verschillende factoren, waaronder de grootte van de tabel, de omvang van de corruptie, en de reparatiemethode die je kiest. In sommige gevallen kan deze taak slechts enkele minuten duren, terwijl het in andere gevallen een tijdrovend proces kan zijn waarbij je meerdere benaderingen moet proberen.
De meest tijdsefficiënte oplossing voor het repareren van een beschadigde MySQL tabel is het herstellen van de database vanuit een recente backup. Dit kan je de tijd en moeite besparen van het handmatig repareren van de tabel, vooral als de corruptie uitgebreid of moeilijk op te lossen is.
Deze aanpak veronderstelt echter dat je een betrouwbare en recente backup beschikbaar hebt. In een paar secties zullen we bespreken hoe je een databaseherstel vanaf een backup kunt uitvoeren.
Zo herstel je MySQL tabellen (4 bewezen methoden)
In deze sectie verkennen we vier manieren om een MySQL tabel te repareren. Deze technieken zijn allemaal relatief eenvoudig, hoewel je misschien meer dan één ervan moet proberen tot je een oplossing vindt die voor jou werkt.
1. MySQL tabellen repareren in phpMyAdmin
phpMyAdmin is een van de populairste databasebeheerprogramma’s op de markt. Bij de meeste webhosts kun je phpMyAdmin gebruiken om je databases te openen en te bewerken, ook bij Kinsta.
Het proces voor toegang tot de database varieert afhankelijk van het controlepaneel van je webhost. Als je MyKinsta gebruikt, selecteer dan de site waar de database bij hoort. Ga naar het tabblad Info en scroll naar beneden naar de sectie Database access.
De gebruikersnaam en het wachtwoord van de database zijn hier toegankelijk:
Klik op Open phpMyAdmin en gebruik je gegevens om in te loggen. Kies dan de beschadigde database. phpMyAdmin zal alle tabellen in die database opsommen. Je kunt ze allemaal selecteren met de selectievakjes links of alleen de corrupte tabellen.
Zodra je de tabellen hebt gekozen, die je wilt repareren, scroll je naar beneden en open je het keuzemenu With selected. Kies de optie Repair table:
Bedenk dat niet alle databases de reparatiefunctie van phpMyAdmin ondersteunen. Als die van jou dat wel doet, zie je op de volgende pagina een succesbericht naast de naam van elke tabel.
Als je niet zeker weet welke tabellen gerepareerd moeten worden, ga dan terug naar de vorige paragraaf over hoe je databases kunt controleren op corruptie. Je kunt de Check functie in phpMyAdmin gebruiken om tabellen op fouten te zoeken, en ze dan te repareren.
2. De MySQL commandoregel gebruiken
Als je vertrouwd bent met de opdrachtregel en je hebt Secure Shell (SSH) toegang tot de server van je site, dan is dit een andere manier om een MySQL tabel te repareren. Eerst moet je toegang krijgen tot de MySQL shell, die meestal naast MySQL is geïnstalleerd.
Met de MySQL shell kun je vanaf de terminal verbinding maken met de database. Gebruik hiervoor het volgende commando:
mysql -u -p
De -u en -p staan voor de gebruikersnaam en het wachtwoord van de database. In de praktijk zou het commando er ongeveer zo uit moeten zien:
$ mysql -u username1 -p
Zodra je de gebruikersnaam hebt ingevoerd, zal de MySQL shell om het wachtwoord vragen. Als je succes hebt, verschijnt de MySQL commandoprompt.
Van daaruit kun je elk gewenst MySQL commando gebruiken. Het commando dat je nodig hebt om de database te repareren is:
REPAIR TABLE table_name;
Je moet de table_name placeholder vervangen door de naam van de tabel die je wilt repareren. MySQL zal proberen de tabel te repareren, en de shell zal een statusbericht tonen dat de resultaten van het reparatieproces aangeeft.
In de meeste gevallen raden we aan een grafische gebruikersinterface of databasebeheerprogramma zoals phpMyAdmin te gebruiken. Als je je echter goed voelt bij het gebruik van de opdrachtregel en je weet de naam van de tabel die je wilt repareren, dan werkt deze aanpak net zo goed.
3. De database herstellen vanaf een backup
Als je een recente backup van je database hebt, kun je die terugzetten om te herstellen van tabelcorruptie. Dit is vaak de snelste en meest betrouwbare methode om ernstige corruptieproblemen aan te pakken.
Sommige webhosts bieden automatische full-site backups die ook de database bevatten. Hier bij Kinsta krijg je dagelijkse backups van je website, die je op elk moment kunt herstellen vanuit het MyKinsta dashboard:
We bieden ook Database Hosting diensten, wat perfect is als je geen volledige website hoeft te hosten. Onze Database Hosting omgevingen zijn ontworpen om je te beschermen tegen datacorruptie als gevolg van hardwarestoringen. Bovendien maken de databases ook automatisch een backup. Je kunt je database op elk moment terugzetten naar een eerdere backup.
Niet alle webhosts bieden echter automatische backups aan. Als die van jou dat niet doet, moet je handmatig een backup maken van de website en de database. Als alternatief kun je, als je WordPress gebruikt, vertrouwen op backupplugins.
4. Externe tools gebruiken voor databaseherstel
Er zijn verschillende externe tools die je kunt gebruiken om een MySQL tabel te repareren, zoals Stellar Repair for MySQL en SysTools SQL Recovery. Deze hulpmiddelen kunnen je helpen gegevens te herstellen van beschadigde tabellen en problemen te repareren die moeilijk op te lossen zijn met ingebouwde MySQL hulpprogramma’s.
Afhankelijk van welk gereedschap je gebruikt, kan het proces zo eenvoudig zijn als het exporteren van de corrupte database in een .xml bestand (wat je kunt doen met phpMyAdmin) en het analyseren ervan met de reparatiesoftware.
De software zou in staat moeten zijn om problemen met gegevenscorruptie op te sporen en deze automatisch te repareren. Als de reparatie voltooid is, kun je de importfunctie in phpMyAdmin (of welk databasebeheerprogramma je ook gebruikt) gebruiken om de beschadigde informatie te overschrijven.
Houd er rekening mee dat je ervaring kan variëren, afhankelijk van welke tool je gebruikt. Voor sommige databasereparatiesoftware, zoals SysTools SQL Recovery, moet je een licentie kopen. Het aanschaffen van dure software om de database te repareren is alleen de moeite waard als de informatie kritiek is en elke andere reparatiemethode al gefaald heeft.
Samenvatting
Een corrupte database klinkt misschien als een onoplosbaar probleem, maar het is vaak eenvoudig te repareren. Als je bedenkt hoe populair MySQL is, mag het geen verrassing zijn dat er veel manieren zijn om corrupte MySQL databases te repareren. In de meeste gevallen heb je niet eens veel kennis nodig van hoe databases werken om ze te repareren.
Als je toegang hebt tot phpMyAdmin, dan kun je met die software eenvoudig databasetabellen op fouten controleren en repareren. Je kunt MySQL ook de opdracht geven om elke tabel te repareren vanaf de opdrachtregel, als je vertrouwd bent met dat systeem. Echter, als je toegang hebt tot databasebackups, is het herstellen daarvan meestal de gemakkelijkste manier om beschadigde tabellen te repareren.
Heb je nog andere vragen over hoe je MySQL kunt gebruiken om een tabel te repareren? Laat het ons weten in de commentsectie hieronder!