sql >> Database teknologi >  >> RDS >> Database

Database korruption

Databasekorruption kan standse onlinedrift og føre til tabte data, tid og penge. Nedenfor vil vi dække, hvordan du fejlfinder og løser MySQL-serverkorruption.

Fejlfinding af databasekorruption

1. Identificer problemet. Problemerne varierer afhængigt af dit servermiljø. Er der uforklarlige fejl på dit websted eller din app? Ser du PHP-fejl på sider, der ikke ændres direkte? Selvom fejl er periodiske, bør du løse dem med det samme. Offentlige fejl deler ofte information, som cyberangribere kan bruge mod dig.

Indholdsstyringssystemer (CMS'er), der bruger MySQL-databaser, inklusive Drupal og Joomla, kan vise en databasefejlmeddelelse i administratordashboardet indbygget eller med tredjepartsintegrationer. WordPress har en specifik fejlkode for db-korruption:en tom offentlig side med angivelse af "Fejl ved etablering af en databaseforbindelse."

2. Indsaml oplysninger for at finde den eller de sandsynlige årsager. Hvad var det sidste, du husker, at du gjorde, før problemet startede?

Installerede du en ny integration?

Opgradere nogen software?

Vil du slette, flytte eller redigere en fil?

Vil du uploade store filer til din server?

Køre en antivirusscanner, der kan sætte mistænkelige filer i karantæne?

Opdater databasen, mens serveren eller MySQL-tjenesten genstartede?

Bemærk alle muligheder.

Tjek systemfejllogfiler for yderligere oplysninger om, hvornår problemet startede, og hvad der kan forårsage det. PHP-applikationer vedligeholder nogle gange en error_log-fil i rodmappen, som kan hjælpe med fejlfinding.

3. Prøv at genskabe fejlen. Hvis det var en fejlside, der blev vist tilfældigt, så prøv at åbne flere faner fra det samme websted inden for et par sekunder. Se webstedet i forskellige desktop- og mobilbrowsere. Hvis fejlen startede efter noget, du har installeret, skal du afinstallere og geninstallere det nøjagtigt som angivet i den officielle dokumentation.

4. Løs problemet. Først skal du sikre dig, at du har databasesikkerhedskopier fra engang før problemet opstod. For at være sikker bør du oprette endnu en database backup.

Tjek lagergrænsen for din hostingplan . Overskridelse af diskpladsgrænserne er et almindeligt symptom på fejl ved maksimale samtidige forbindelser (max_user_connections). Du kan tjekke dette med cPanel> Diskbrug og df terminal kommando. Slet uønskede filer og gamle sikkerhedskopier. Foretag de nødvendige ændringer for at forhindre for mange uønskede filer i fremtiden.

Hvis du ikke finder noget, du kan slette, bør du opgradere din hostingplan for bedre databaseydeevne.

"Tjek og reparer database" er den almindelige hurtige løsning med en af ​​følgende:

  • cPanel> MySQL®-databaser
  • phpMyAdmin
  • Native PHP-softwarefunktioner
  • MySQL kommandolinjeklient:
mysqlcheck --repair -u [USERNAME] -p [DATABASE]

Afhængigt af din PHP-applikation, eller hvis du ikke bruger en cPanel-server, skal du muligvis bruge forskellige muligheder for at reparere databaser. WordPress-brugere med WP-CLI installeret kan tjekke og reparere databaser med en kombination af to kommandoer:

wp db check && wp db repair

WordPress kan konfigureres til at gøre dette automatisk ved at tilføje en kort kodeblok i filen wp-config.php:

define (‘WP_ALLOW_REPAIR’, ‘true’);

Hvis det ikke virker, skal du kontakte Live Support med det problem, du har, og hvad du har forsøgt at reparere databasekorruptionen. Vores systemadministratorer kan muligvis reparere korrupte MySQL-databaser med InnoDB-funktioner og hjælpe med at undersøge årsagen til korruption.

Hvis alle databasereparationsmetoder ikke lykkes, skal du vide, hvordan du genopretter beskadigede MySQL-databaser med sikkerhedskopier via phpMyAdmin eller SSH.

5. Dokumenter opløsningen. Hvis denne artikel eller en ekstern webside hjalp dig, skal du bogmærke den med en titel, du vil huske. Hvis det var et problem med koden, skal du indtaste de trin, du tog et sted til opbevaring.

Gennemgå din sikkerhedskopieringsplan for eventuelle fordele ved at implementere differentielle eller trinvise sikkerhedskopier.

Nyd højtydende, lynhurtige servere med øget sikkerhed og maksimal oppetid med vores Managed VPS Hosting!
  1. Transponer et sæt rækker som kolonner i SQL Server 2000

  2. Henter dato i sql-server, CURRENT_TIMESTAMP vs GetDate()

  3. Inden for en triggerfunktion, hvordan man får hvilke felter der opdateres

  4. Kan jeg løse dette med ren mysql? (sammenføjning på '' adskilte værdier i en kolonne)