WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   MysqL Problem (https://www.wn.se/forum/showthread.php?t=1055168)

Tro 2012-09-29 17:03

MysqL Problem
 
Hej.
Sökt som en dåre på google men finns inga svar på denna fråga.
Efter att vår server krashat har jag kommit åt alla databasfiler från servern och fört över det till en ny.
På den andra servern avbröts mysql drastiskt utan att spara någon som helst data till hårddisken.

När jag importerat databasmapparna så kan man se några tabeller, men inte alla. Man kan inte heller se datan i få tabeller. Detta körs på en windows server.

ib_logs funkar inte då ena filen är större än den andra på något konstigt vis.

det jag kommit fram till är att ibdata1-filen kan vara korrupt, hur får jag fram datan som låg där i? Eller finns det något sätt att fixa filen så jag kan starta mysql (net start mysql) för att göra mysqldump?

Här är error logs efter 1 startförsök. (har prövat innodb force recovery 1-6 redan.)

http://pastebin.com/2aHrxn7V

yakuzaemme 2012-09-29 17:29

Dina filer kan vara korrupta om servern krashade när mysql kördes, men jag tror faktiskt inte det är problemet här. Gissar på att du har testat att reparera tabellerna också.

Stoppa MySQL, rensa /var/lib/mysql, installera allt igen och läs in backup filen.

Om det inte fungerar kan du testa att byta ut hårddisken, installera om allt och testa. Bör fixa ditt problem.

gregoff 2012-09-29 17:30

Nu är jag ingen expert men spontant gissar jag på att datan är korrupt och därmed ej användbar längre tyvärr. Skulle gissa att servern kraschat under skrivning, därav korrupt data.

Som sagt är jag inte expert på området så någon får gärna rätta mig om jag har fel.

Edit: yakuzaemme hann före...

Tro 2012-09-29 17:42

Citat:

Ursprungligen postat av yakuzaemme (Inlägg 20451868)
Dina filer kan vara korrupta om servern krashade när mysql kördes, men jag tror faktiskt inte det är problemet här. Gissar på att du har testat att reparera tabellerna också.

Stoppa MySQL, rensa /var/lib/mysql, installera allt igen och läs in backup filen.

Om det inte fungerar kan du testa att byta ut hårddisken, installera om allt och testa. Bör fixa ditt problem.

Ja, mysql krashade när mysql kördes. Tabellerna (80% av dem) finns där, (de som sparas i .myi, .myd, och .frm filer i databasmapparna) med data i, men de tabellerna vars data låg i ibdata1-filen finns inte sålänge jag inte lägger in ibdata1-filen, men då får jag det erroret jag visade på pastebin.
Förtydling: Dessa finns med data i: http://quicpic.me/i/2551.png
Dessa finns inte med i databasen. (ibdata1-filen ligger inte med, för då startar inte ens mysql): http://quicpic.me/i/9c96.png (bara en .frm fil istället för alla 3).

Så det finns inget sätt att få tillbaka datan i de korrupta tabellerna? :(

Björklund 2012-09-29 18:11

Ni har inga backuper på MySQL?
Jag tycker det är viktigt att ta backuper av saker som är viktigt.
Och kör mysqldump, kopiera inte bara /var/lib/mysql. Det är inget bra, Särskilt ni då ni kör InnoDB.

Kör gärna en gång per dygn och kopiera sedan undan det offsite.

http://www.glesys.se/kb/backup/mysql-backup/18

Tro 2012-09-29 18:14

Citat:

Ursprungligen postat av Björklund (Inlägg 20451871)
Ni har inga backuper på MySQL?
Jag tycker det är viktigt att ta backuper av saker som är viktigt.
Och kör mysqldump, kopiera inte bara /var/lib/mysql. Det är inget bra, Särskilt ni då ni kör InnoDB.

Kör gärna en gång per dygn och kopiera sedan undan det offsite.

http://www.glesys.se/kb/backup/mysql-backup/18

Jo vi brukade ta 1 per dag, men sedan var vi tvungna att byta servrar, så glömde jag fixa automatiska scriptet. Tyvärr.
Den enda backup vi har är väldigt väldigt gammal och oanvändbar.
Från och med nu ska vi köra med mysql backuper igen men först måste vi få upp sidan.

Inga tips på hur jag kan få datan ur ibdata1?

yakuzaemme 2012-09-29 18:27

Du hade en backup, ellerhur? Har du lagt till några nya tabeller sedan dess, eller har du bara mer data?

Samla ihop alla filer du lyckades ta från den krashade servern så kanske jag kan skriva ihop ett skript till dig som läser av det som går och matar in det igen. Om det är någon tabell eller data som inte finns i någon fil så går det inte att göra något åt det, men bättre att spara lite än inget.


Edit: Testa det jag skrev i mitt första inlägg.

Tro 2012-09-29 18:35

Citat:

Ursprungligen postat av yakuzaemme (Inlägg 20451874)
Du hade en backup, ellerhur? Har du lagt till några nya tabeller sedan dess, eller har du bara mer data?

Samla ihop alla filer du lyckades ta från den krashade servern så kanske jag kan skriva ihop ett skript till dig som läser av det som går och matar in det igen. Om det är någon tabell eller data som inte finns i någon fil så går det inte att göra något åt det, men bättre att spara lite än inget.


Edit: Testa det jag skrev i mitt första inlägg.

Hur kan jag reparera tabellerna när mysql inte startar?
Har ominstallerat mysql cirka 15 gånger idag, även rensat alla filer då. Gissar på att det räcker, eller ska jag rensa allt bara där och försöka starta mysql sen?
Alla tabeller och allt finns, bara att mysql inte kan läsa in det.
Samlar ihop alla filer atm.

Och servern krashade tyvärr när mysql kördes, mitt i. När mysql körs skapas en pid fil som visar mysql's windows service id. Den är fortfarande där, även om den ska försvinna när mysql stängs av.

yakuzaemme 2012-09-29 18:41

Citat:

Ursprungligen postat av Tro (Inlägg 20451875)
Hur kan jag reparera tabellerna när mysql inte startar?
Har ominstallerat mysql cirka 15 gånger idag, även rensat alla filer då. Gissar på att det räcker, eller ska jag rensa allt bara där och försöka starta mysql sen?
Alla tabeller och allt finns, bara att mysql inte kan läsa in det.
Samlar ihop alla filer atm.

Och servern krashade tyvärr när mysql kördes, mitt i. När mysql körs skapas en pid fil som visar mysql's windows service id. Den är fortfarande där, även om den ska försvinna när mysql stängs av.

Kan du testa en annan hårddisk, bara för att stryka bort det från listan? När du väl har gjort det så kan du skicka mig alla filer och jag ska göra mitt bästa för att återställa.

Tro 2012-09-29 18:44

Citat:

Ursprungligen postat av yakuzaemme (Inlägg 20451874)
Du hade en backup, ellerhur? Har du lagt till några nya tabeller sedan dess, eller har du bara mer data?

Den är väldigt gammal. Kör ett community och användare kommer förlora i stort sett allt de har om jag kör från den backup-filen. :(

yakuzaemme 2012-09-29 18:46

Citat:

Ursprungligen postat av Tro (Inlägg 20451877)
Den är väldigt gammal. Kör ett community och användare kommer förlora i stort sett allt de har om jag kör från den backup-filen. :(

Somsagt, testa en annan hårddisk. Fungerar det inte kan jag försöka sammanställa allting till en körbar sqlfil.

Tro 2012-09-29 18:47

Citat:

Ursprungligen postat av yakuzaemme (Inlägg 20451876)
Kan du testa en annan hårddisk, bara för att stryka bort det från listan? När du väl har gjort det så kan du skicka mig alla filer och jag ska göra mitt bästa för att återställa.

Hmm... Kan det vara databasen?
MySQL funkar felfritt med originala ibdata1-filen, men byter jag ut den mot den som ligger på den krashade servern, får jag den errorfilen.

Tror du att du kan förklara hur du gör det med filerna? Är ett rätt stort community med över 50 000 medlemmar, vill inte direkt skicka ut databasen till någon annan. :-/

EDIT: Testar en ny hårddisk nu.
EDIT 2: Problemet återkommer tyvärr i exakt samma skepnad på en annan server.

Egentligen är det bara ibdata1 filen jag behöver ha ut datan från, tror du att du kan fixa den datan i en körbil .sql fil om du får ibdata1 filen?

yakuzaemme 2012-09-29 19:04

Citat:

Ursprungligen postat av Tro (Inlägg 20451879)
Hmm... Kan det vara databasen?
MySQL funkar felfritt med originala ibdata1-filen, men byter jag ut den mot den som ligger på den krashade servern, får jag den errorfilen.

Tror du att du kan förklara hur du gör det med filerna? Är ett rätt stort community med över 50 000 medlemmar, vill inte direkt skicka ut databasen till någon annan. :-/

EDIT: Testar en ny hårddisk nu.
EDIT 2: Problemet återkommer tyvärr i exakt samma skepnad på en annan server.

Egentligen är det bara ibdata1 filen jag behöver ha ut datan från, tror du att du kan fixa den datan i en körbil .sql fil om du får ibdata1 filen?

Jag kan nog återställa om jag har ibdata1, ib_logfile 0 och 1 samt .frm filerna.

Tro 2012-09-29 21:07

Citat:

Ursprungligen postat av yakuzaemme (Inlägg 20451882)
Jag kan nog återställa om jag har ibdata1, ib_logfile 0 och 1 samt .frm filerna.

Tror du vi kan skippa .frm och logfiles?

Logfiles är 2 gb stora och frm innehåller i stort sett hela min sida(?)

EDIT: Såg att frm filerna inte innehöll så mycket, så kan skicka ibdata och frm filer men undrar fortfarande om jag ska skicka logsarna?

yakuzaemme 2012-09-29 21:25

Citat:

Ursprungligen postat av Tro (Inlägg 20451885)
Tror du vi kan skippa .frm och logfiles?

Logfiles är 2 gb stora och frm innehåller i stort sett hela min sida(?)

EDIT: Såg att frm filerna inte innehöll så mycket, så kan skicka ibdata och frm filer men undrar fortfarande om jag ska skicka logsarna?

Jag behöver det jag listade, går inte att göra några komprimisser. Det är känslig data, givetvis, men det är ju det som ska in i databasen. Om du inte vill lämna över din databas är det förståeligt, jag försöker bara hjälpa här.

Tro 2012-09-29 22:00

Citat:

Ursprungligen postat av yakuzaemme (Inlägg 20451886)
Jag behöver det jag listade, går inte att göra några komprimisser. Det är känslig data, givetvis, men det är ju det som ska in i databasen. Om du inte vill lämna över din databas är det förståeligt, jag försöker bara hjälpa här.

Ordnar det.
Behöver du alla .frm filer eller bara till de som inte funkar?:)

yakuzaemme 2012-09-29 22:13

Citat:

Ursprungligen postat av Tro (Inlägg 20451887)
Ordnar det.
Behöver du alla .frm filer eller bara till de som inte funkar?:)

Allt som du lyckades rädda, hellre för mycket än för lite


Alla tider är GMT +2. Klockan är nu 10:03.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson