Pytanie w sprawie database-restore, mysql – Przywróć folder bazy danych MySQL z odzyskanego dysku twardego

15

Udało mi się odzyskać folder bazy danych serwera MySQL 5.5 uszkodzonego systemu operacyjnego (Windows XP) pod adresem

C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\data\

Jak mogę ręcznie przywrócić go do nowego serwera MySQL? Kiedy otwieram folder, znalazłem kilka folderów i wierzyłem, że to są bazy danych. Nie złożyłem żadnych plików SQL.

Twoja odpowiedź

3   odpowiedź
7

Odpowiedź @ JohnWoo dotyczy tylkoMYSIAM silnik bazy danych. Moja odpowiedź jest ściśle związana zInnoDb silnik do przechowywania, tj.FRM iIBD pliki

OdzyskaćInnoDb bazy danych, dokładnie wykonałem te kroki. Przed wskazaniem kroków chciałbym powiedzieć, że przeprowadziłem odzyskiwanie z odzyskanego dysku twardego Wndows XP i przeniosłem go do Windows 7. To pomoże użytkownikom systemu Windows XP i Windows 7. Więc kroki, które podążyłem to: -

Serwer MySQL na obu komputerachMUSI być zatrzymanym. Oczywiście, jeśli system operacyjny / dysk twardy ulegnie awarii, serwer na tym komputerze jest już zatrzymany.Teraz instalacja MySQL jest w 2 folderach (przynajmniej dla mnie) ->
1 Program Files / Program Files (x86) i
2. C: Dane programu MySQL w systemie Windows 7 i C: Użytkownicy Wszyscy użytkownicy Dane aplikacji MySQL w systemie Windows XP.Należy pamiętać, że dane programu (win7) oraz dane aplikacji (WinXP) są ukrytymi folderami.Jesteśmy TYLKO zainteresowaniFolder MySQL Server ** w folderach Dane aplikacji lub Dane programu. Folder Mysql w Program Files jest bezużyteczny, ponieważ nie ma twoich danych.Teraz skopiujmy.ini plik w folderze MySQL Server **.Otwórz folder danych i skopiuj te pliki
1. Wszystkie pliki ib_logfile *
2. Wszystkie pliki ibdata *
3. Foldery bazy danych (które chcesz) zawierające pliki .frm i .ibdTeraz skopiuj pliki wymienione w powyższych dwóch punktach na komputerze docelowym.Zdecydowanie zaleca się wykonanie kopii zapasowej zastąpionych plików na komputerze docelowym.Teraz uruchom ponownie serwer. Gdybyś poszedł w prawo, przywróciłbyś swoje bazy danych bez żadnego błędu.

Polecam ci przyjrzenie się metodzie tworzenia kopii zapasowych na zimno dla InnoDB w mysql docs atdev.mysql.com/doc/mysql-backup-excerpt/5.5/en/innodb-backup.html

Dzięki, to pomoże mi odzyskać moją bazę danych. Używam serwera w wersji 5.5. Zlokalizuj katalog danych na uszkodzonym komputerze i zasadniczo skopiuj wszystko z wyjątkiem * .err i * .pid na nowy serwer. Możesz skopiować go do dowolnego katalogu. Następnie na nowym komputerze edytujmy.ini, znajdź linię parametrów o nazwiedatadir do nowego katalogu. Przykład:datadir=D:/MySql_Data/ mjb
23

Ok, mam odpowiedź na mój własny problem.

Możliwy scenariusz

Program MySQL jest uszkodzony i nie można go uruchomić. Świeża instalacja MYSQL nie przywróciła danych.Komputer uległ awarii, ale dysk twardy nadal działaSystem Windows jest uszkodzony i nie można go uruchomić, ale dane są bezpieczne.

Aby uzyskać informacje, w MYSQL, pliki z rozszerzeniemMYD to dane tabeli,FRM pliki to definicja tabeli iMYI plik to indeksy tabeli. Jest teżibdata plik określony w pliku my.ini, który jest plikami tableapce InnoDB. Musisz byćadministrator, dzięki czemu możesz uzyskać dostępDokumenty i ustawienia folder lubPliki programów teczka.

Otwórz Eksplorator okien (Klawisz Windows + E) lub Otwórz mój komputer i przejdź do folderu danych, w którym znajdują się twoje pliki bazy danych.Polecam Ci skopiować wszystkie foldery w folderze danych niż tylko wybrać kilka do skopiowania. Skopiuj foldery bazy danych i plik ibdata (NIE KOPIUJ plików ib_logfile (x)!) Pamiętaj, że plik ibdata może nie być w tym samym miejscu, co pliki danych. Aby dowiedzieć się, gdzie to może być, przeczytaj artykuł Jak znaleźć pliki bazy danych MySQL w systemie Windows.Przejdź do komputera docelowego, otwórz usługi systemowe. (Wpisz services.msc w menu Windows „Wyszukaj program i pliki”.W prawym panelu okna Usługi przewiń listę i wyszukaj nazwę „MYSQL”. Wybierz MySQL i kliknij prawym przyciskiem myszy i kliknij. Po zatrzymaniu status stanie się pusty, a nie.Podobnie szukaj lokalizacji folderu danych. Po zlokalizowaniu go zalecamy utworzenie kopii zapasowej folderu lub zmianę jego nazwy. Wklej foldery i plik ibdata skopiowany z komputera źródłowego do folderu danych.Wróć do okna Usługi i wybierz z powrotem MYSQL. Kliknij prawym przyciskiem myszy i kliknij, aby wznowić usługę MYSQL.Otwórz administratora MYSQL i zaloguj się do swojego serwera bazy danych i powinieneś zobaczyć swoją przesłaną bazę danych wraz z ich danymi.
Idealny! Uratowałem mój dzień user919426
przepracowałem dla mnie urok. Przypuszczam, że musisz się upewnić, że zainstalujesz tę samą wersję mysql, aby to działało? stoic
Zrobiłem to i usługa nie uruchamia się :( perrohunter
4

Myślę, że zarządzanie plikami MySQL jest domyślnie dość proste. Utwórz prostą nową bazę danych i skopiuj odzyskane pliki do podfolderu mysql, który jest tworzony w odpowiedzi, zastępując wszelkie utworzone pliki bazy danych. Jeśli to nie zadziała, utwórz tabelę w nowej bazie danych, aby uzyskać podpowiedź, co jeszcze może być potrzebne.

Prawdopodobnie warto wtedy utworzyć nową bazę danychwyłączanie serwera przed skopiowaniem istniejących plików tylko po to, aby mieć pewność, że nie ma problemów z stanem wewnętrznym. eggyal
działało dla mnie, dodatkowo polecam uruchamianie „tabel kontrolnych” i „tabel naprawczych” w całych bazach danych za pomocą narzędzia phpmyadmin, dzięki: D AgelessEssence
Udało mi się go przywrócić, zanim przeczytam odpowiedź. Dzięki kolego, to wystarczyło. :) John Woo

Powiązane pytania