Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] jak odzyskac dane?
Forum PHP.pl > Forum > Bazy danych > MySQL
one_eddie
Padł mi dysk z baza danych (mySQL 4.1), na szczescie udalo mi sie odzyskac katalog "data" z zawartoscia, tzn. pliki bazy danych (w calosci, nie sa uszkodzone).

Ale pojawił sie problem, nie wiem w jaki sposob moge przywrocic te dane do dzialajacej bazy, samo kopiowanie plikow nie dziala. Utworzenie bazy recznie i kopiowanie tez.

Dane są zakodowane w latin2.
Aktualnie uzywam mySQL w wersji 5.0
nospor
mialem podobny problem gdy mialem katalog data z wersji 4.1 i nie moglem poprawnie skopiowac do 5.0
zainstaluj se jeszcze raz 4.1 i zrob import do sql, albo jakis dump.Potem importnij w 5.0

ps: mojemu kumplowi przezucil bez problemu z 4.1 do 5, ale u mnie nie i nie wiem czemu.
one_eddie
Zainstalowalem MySQL 4.1 tak jak zalecales, przekopiowalem pliki, wybralem baze, udalo sie. Kiedy robie SELECT'a, itp. dostaje:

Cytat
#1016 - Can't open file: 'tabela1.ibd' (errno: 1)


Dane sa w plikach: *.frm, *.myd, *.myi.
Co zrobilem zle?
SongoQ
Moze nie ma wszystkich plikow, lub nie moze odczytac (uprawnienia).
Ale ja bym na Twoim miejscu zrzucil te odzyskane dane do SQLa i potem przywrocil jeszcze raz.
one_eddie
Cytat(SongoQ @ 2005-12-28 11:35:18)
Moze nie ma wszystkich plikow, lub nie moze odczytac (uprawnienia).
Ale ja bym na Twoim miejscu zrzucil te odzyskane dane do SQLa i potem przywrocil jeszcze raz.

jesli chodzi o pliki jest komplet, jestem pewien.
Jak mam zrzucic dane do SQLa skoro nie moge ich nawet przywrocic do bazy?

Obojetnie jaki dump, eksporter, wywola selecta, itp i po zabawie znowu pojawia sie w/w komunikat.

Jesli ktos ma jakis pomysl jak te pliki zamienic na dzialajaca baze ( tabele ), czekam na rade.
FiDO
Cytat
Dane sa w plikach: *.frm, *.myd, *.myi.

To sugeruje, ze tabele sa typu MyISAM, natomiast to:
Cytat
#1016 - Can't open file: 'tabela1.ibd' (errno: 1)

jest proba odwolania sie do tabeli typu InnoDB (pliki .ibd sa tworzone wlasnie dla takich tabel)... cos tu chyba nie gra.
Jakiego typu miales te tabele przed padem bazy ?
one_eddie
Udalo mi sie czesciowo pozbyc problemu.

Okazalo sie ze tabela1 i tabela3 posiadaja tylko pliki frm, nie mialy zadnych danych, wiec MySQL nie utworzyl dla nich, chocby pustych plikow MYD (pliku indeksow MYI).

Kiedy je usunałem te 2 pliki, baza ruszyła. Wprawdzie skrypty ktore korzystaja z tabel 1 i 3 sie wysypuja, ale reszta działa.

Nie wiem dlaczego MySQL szuka domyślnie plików ibd? Skoro wcześniej ich nie potrzebował.

Pojawił się nowy problem: w jaki sposób odzyskać, podejrzeć strukture tabeli z pliki FRM. Mozna podejrzec plik i na koncu sa teksty, nazwy kolumn (poszczegolnych) pol. Gorzej jest z ich parametrami. Nie znam struktury pliku FRM. Watpie by ktos ją udzieś umiescił.

A moze jest jakas opcja, ktora wyłącza domyślne szukanie baz Inno DB?
Poki co przeinstaluje MySQl'a i wyłącze obsługe baz InnoDB bo jesli dobrze pamietam w instalatorze (programie konfiguracyjnym) byla taka opcja.

Czekam na wasze sugestie, wasza pomoc.

// edit:
Ustawilem default storage na myisam
Ustawilem parametr skip-innodb

Nie pomogło. Zaczal prosic o plik MYI i MYD.

Wkurzylem sie smile.gif zamienilem nazwy 2 pierwszych lepszych plikow na tabela1.MYI i ...MYD wrzucilem do folderu bazy...dziala.

Teraz bez problemu moge sobie odczytac strukture tabel.
Wyczyscilem te tabele i moge sobie spokojnie do nich dodawac poprawne dane tongue.gif

Problem rozwiazany :0 Dziekuje za pomoc.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.