sql >> Databasteknik >  >> RDS >> Mysql

Hur reparerar korrupta xampp 'mysql.user'-tabellen?

Detta är nästan säkert ett känt fel i mariaDB (dvs mySQL ). Se ApacheFriends.org för beskrivningen. Problem uppstår efter användarens lösenord ändringar - ofta användarens root .

Allmänna råd verkar vara att minska dina förluster och nedgradera din XAMPP till 7.3.5

Annars kan problemet återkomma senare även efter en fullständig avinstallation/ominstallation av 7.3.7 till exempel.

Vad som följer är ett kringgående/reparation för Windows/XAMPP-användare. Det förutsätter att du har en backup - vilket du förmodligen gör. (Det verkar som att installationsprocessen ger en första säkerhetskopia.) Idén är att få dig tillbaka i luften utan att nedgradera tillräckligt länge för att nästa version ska komma.

Snabbaste vägen ut ur träsket är bara att gå till steg 9.

(1) Hitta 'my.ini' (t.ex. c:\xampp\mysql\bin\my.ini )
(2) Infoga 'skip-grant-tables' på en ny rad efter etiketten '[mysqld] '. Ta bort detta senare.
(3) Nu kan mySQL startas från XAMPP kontrollpanel.
(4) Starta phpMyAdmin från webbläsaren och välj tabellen 'user' från databasen 'mysql'
(5) Bör se:#1034 Index för tabellen "användare" är korrupt; försök att reparera det.
(6) Välj 'mysql' från den vänstra panelen och markera sedan 'användare' i den högra panelen.
(7) Från rullgardinsmenyn 'Med valda', kör 'analyze' och sedan 'reparera' table'.
(8) Om 'Repair' misslyckas inget annat val än att 'DROP TABLE user' ....

(9) Återskapa 'användartabellen' från distributionsbackupen genom att kopiera följande 3 filer.

C:\xampp\mysql\backup\mysql\user.frm 
C:\xampp\mysql\backup\mysql\user.MYD
C:\xampp\mysql\backup\mysql\user.MYI

till

C:\xampp\mysql\data\mysql\

sedan starta om XAMPP och lägga till/ta bort/redigera användare som du vill.

En sista punkt:Det verkar finnas någon form av association mellan 'användare' och 'db'-tabellerna. Du kan behöva reparera 'db'-tabellen enligt steg (7).



  1. SQL - felkod 1005 med felnummer 121

  2. Oracle får främmande nycklar

  3. Hur man skapar en tabell i SQL Server med hjälp av en fråga

  4. Mysql:Välja värden mellan två kolumner