Avatar billede jammerlab Nybegynder
17. december 2007 - 18:17 Der er 13 kommentarer og
1 løsning

Hvordan for jeg FRM filer til Querys??

Hej derude... har lidt problemer med en database der er gået i fuck... det eneste jeg har tilbage af den nu er nogle FRM filer som den ikke kan genkende i den nye MySQL... jeg har kigget lidt omkring og det ser ud til man kan genskabe dem, men er ikke helt med på hvordan... nogen der kan hjælpe mig med at genskabe mine FRM filer?
Avatar billede pidgeot Nybegynder
17. december 2007 - 22:15 #1
Hvis du kun har FRM-filerne, kan du i bedste fald kun få tabelstrukturen. Egentlig data kræver at du har (eller kan genskabe) MYD/MYI/IBD-filerne (de to første er MyISAM, den sidste er InnoDB).
Avatar billede jammerlab Nybegynder
18. december 2007 - 10:26 #2
Okay, men hvordan gør jeg så det?
Avatar billede pidgeot Nybegynder
18. december 2007 - 10:49 #3
Så vidt jeg kan se (http://forums.mysql.com/read.php?21,36599,36771#msg-36771) skal du lave en tom datafil (tabelnavn.MYD) og derefter i MySQL køre kommandoen REPAIR TABLE tabelnavn USE_FRM;. Det skal gøres for hver tabel.

Bemærk at jeg ikke er 100% sikker på om det virker hvis du i sin tid brugte InnoDB-tabeller. Det er muligt du i stedet skal bruge en tom .IBD-fil hvis du gjorde det.
Avatar billede jammerlab Nybegynder
18. december 2007 - 15:46 #4
mysql> \G REPAIR TABLE computers USE_FRM;
ERROR:
No query specified

+------------------+--------+----------+----------------------------------------
-----------------------------------------------------+
| Table            | Op    | Msg_type | Msg_text
                                                    |
+------------------+--------+----------+----------------------------------------
-----------------------------------------------------+
| hacker.computers | repair | error    | Table './hacker/computers' was created
with a different version of MySQL and cannot be read |
+------------------+--------+----------+----------------------------------------
-----------------------------------------------------+
1 row in set (0.00 sec)
Avatar billede jammerlab Nybegynder
18. december 2007 - 15:52 #5
har prøvet at lave en computers.MYI og computers.MYD ... men det virker ikke rigtigt
Avatar billede jammerlab Nybegynder
18. december 2007 - 16:07 #6
Har prøvet at installere mysql 4.1 og smide filerne derind men der kan den heller ikke rigtigt arbejde med dem
Avatar billede jammerlab Nybegynder
18. december 2007 - 16:21 #7
Prøvede med en 5.0 og der siger den følgende:

    -> \u hacker
Database changed
    -> \G REPAIR TABLE computers USE_FRM;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near '\n' a
t line 1
+------------------+--------+----------+----------------------------------------
+
| Table            | Op    | Msg_type | Msg_text
|
+------------------+--------+----------+----------------------------------------
+
| hacker.computers | repair | error    | Table 'hacker.computers' doesn't exist
|
+------------------+--------+----------+----------------------------------------
+
1 row in set (0.01 sec)

mysql>

Ser ud til den slet ikke kan finde dem nu
Avatar billede pidgeot Nybegynder
18. december 2007 - 17:10 #8
Har du kopieret FRM-filerne over i den rigtige datamappe? Det er nemlig ikke sikkert din 5.0'er ligger dataene det samme sted som de versioner du har prøvet før.
Avatar billede jammerlab Nybegynder
18. december 2007 - 17:12 #9
Ja det har jeg :)
Avatar billede pidgeot Nybegynder
18. december 2007 - 17:25 #10
Du skal i øvrigt ikke lave .MYI-filerne, dem skal MySQL selv lave når du kører REPAIR TABLE. Jeg kunne tro at tilstedeværelsen af dem kan forstyrre den, fordi den forventer noget data den kan bruge.

Hvis du ikke kan komme videre, så kan jeg ikke komme på andet end at du må til at genskabe tabelstrukturen på anden vis - hvis du ikke har nogen form for script eller dokumentation må du jo gøre det på den hårde måde ved at kigge i din kode.

Nu ved jeg ikke hvor store/vigtige/whatever data- og kodemængder der var tale om, men måske var det ligefrem nemmere at smide *alt* væk og begynde igen.
Avatar billede jammerlab Nybegynder
18. december 2007 - 17:27 #11
Prøver lige at fjerne MYI filerne...
Ja har overvejet den lange løsning hehe :o) er bare lidt doven... det var noget i udviklingsfasen så data var der ikke meget af, men strukturen er noget omfattende :´(

Vender tilbage om lidt
Avatar billede jammerlab Nybegynder
18. december 2007 - 17:31 #12
Hjalp ikke at fjerne MYI filerne... så jeg må vidst igang med den noget omfattende løsning... så kan jeg lærer at tage backup på den hårde måde *suk*

Men tak for hjælpen pidgeot det var også i disse baner jeg tænkte men den gik ikke... smit et svar og tak for hjælpen :o)
Avatar billede pidgeot Nybegynder
18. december 2007 - 17:33 #13
Til næste gang er det en god ide at tage en backup af strukturscriptet og opbevare sammen med kildekoden :)
Avatar billede jammerlab Nybegynder
18. december 2007 - 17:39 #14
Point taken ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester