PDA

Bekijk Volledige Versie : MySQL files corrupt (gekke rechten)



Libelnet
27/04/10, 14:59
Plots heeft een mySQL table op onze deticated server gekke rechten gekregen en is de table corrupt.

Het gekke is ik kan hier niets mee, recovery mode van mysql werkt niet, kan geen bestanden verwijderen of chmodden als root. Ben dus machteloos.

Rechten van de bestanden:
?---rw---- 14392 825765936 1094201656 808464432 Aug 15 1995 dit_is_de_kapotte_table.frm
-rw-rw---- 1 mysql mysql 1408 Apr 15 02:11 dit_is_de_kapotte_table.MYD
b---r-sr-x 13363 1028862323 842150461 55, 57 Sep 24 2022 dit_is_de_kapotte_table.MYI

Heb al een fsck gedaan bij een reboot maar dat mocht helaas niet baten.

Heeft er iemand nog suggesties?

Met vriendelijke groet,

Stef Vergoossen

ichosting
27/04/10, 15:11
rechten lijken me goed te staan?
Kun je via PHPMYADMIN geen table repair doen?

Libelnet
27/04/10, 15:14
Van de 1ste en 2de file staan fout?
? b etc zijn echt niet goed... Daarbij user en group zijn ook gek.

Nee werkt niet via phpmyadmin, can't find frm file, maar dat zal komen door de rechten...

ichosting
27/04/10, 15:22
Had ik idd niet goed gezien. Zat naar 1 tabel te kijken.
Je hebt geen root access? Of je kunt het simpel niet wijzigen als root?

Probeer anders eens mysqld te stoppen en dan alsnog eens te chmodden als root (als je root access hebt iig).

Libelnet
27/04/10, 15:33
Ik heb root access en door mysql te stoppen kan ik het ook niet chmodden.
chmod: changing permissions of `dit_is_de_kapotte_table.frm': Operation not permitted

ichosting
27/04/10, 15:57
Probeer eerst eens de eigenaar weer goed te krijgen met


chown mysql:mysql dit_is_de_kapotte_table.*

Libelnet
27/04/10, 16:02
Zelfde foutmelding.

almar
27/04/10, 16:16
Kun je de bestanden kopieren naar een andere partitie? Daar de eigenaar en de rechten goed zetten en dan weer terugzetten? (BTW, het staat toch niet op een NSF mount ?)

ichosting
27/04/10, 16:17
Wat zie je als je lsattr <file> doet?

Libelnet
27/04/10, 16:20
Kopieren werkt niet, staat niet op nsf.
Lsattr werkt niet.

Het probleem is ook dat het MYI bestand als een block device wordt gezien...



cp: cannot open `dit_is_de_kapotte_table.MYI' for reading: No such device or address
lsattr: Operation not supported While reading flags on dit_is_de_kapotte_table.MYI
lsattr: Operation not supported While reading flags on dit_is_de_kapotte_table.frm

ichosting
27/04/10, 16:27
Filesystem RO? (type eens mount)
chattr -i file werkt ook niet?

almar
27/04/10, 16:27
Heb je fsck gedraait terwijl de partitie niet gemount was? En wat zegt je syslog en de mysql error log?

Mikey
27/04/10, 16:36
Als je je mysql log bekijkt, is dan in je innodb engine aan het loopen ? Mocht je er echt niet meer uit komen kan je in my.cnf het volgende opgeven: innodb_force_recovery = 2 , mysql restart

Daarna maak je een complete dump van je database, importeer deze ergens anders en kijk of hij compleet (genoeg) is. Vervolgens verwijder je database en maak hem opnieuw aan. Dit kun je overigens ook mysql db wide doen. Werkt zeer goed als je recovery log van innodb ook corrupt is.

Libelnet
27/04/10, 16:36
Nee filesystem is niet ro, ik heb vanmorgen een reboot uitgevoerd met fsck dus toen was de partitie inderdaad nog niet gemount...
Met chattr -i krijg ik geen ouput en verandert er ook niets...

Het is trouwens geen innodb table he? Dus innodb recovery heeft dan geen zin?

almar
27/04/10, 17:09
> En wat zegt je syslog en de mysql error log?

Libelnet
27/04/10, 17:19
- Syslog staat niets geks in;
- mySQL error-log ook niet.

cfmweb
27/04/10, 19:15
Ja stomme opmerking misschien, maar heb je geen recente backup toevallig?

Mikey
27/04/10, 20:41
Het is trouwens geen innodb table he? Dus innodb recovery heeft dan geen zin?

Heb je nu wel of niet in je mysql log gekeken ?

wierben
27/04/10, 22:02
- je datums kloppen ook niet (1995 - 2022)
- zit je partitie niet vol? (ooit megemaakt, kijk je makkelijk over ook..)
- mysql afsluiten met killall
- maak eens een groep aan met de groepsnummers die er staan, en steek mysql in de groep..
(mocht dat iets uitdoen, neem backup van je db en herbegin :))

Libelnet
27/04/10, 22:29
- Ik heb in de mysql log file gekeken;
- Datums kloppen indeed niet, komt door de corrupt heid denk ik;
- Ik draai een aparte instantie van mysql dus ik kill hem sowieso helemaal;
- Groep zou ik kunnen proberen...
- Ik wil de tables best verwijderen alleen het gaat niet, misschien wel als ik het via een mysql restore doe?

Mikey
27/04/10, 22:31
Gewoon backup uitrollen op tijdelijke machine, en deze laten voor wat het is. Als je systeem zoveel vreemde dingen begint te vertonen, dan is dat vast niet voor niets...

Libelnet
27/04/10, 22:55
Heb de database maar via command line gemoved en opnieuw aangemaakt... Hopelijk blijft het hierbij!

Bedankt voor jullie hulp!