Code:Wydobywanie tabel z archiwum: Różnice pomiędzy wersjami
(Nie pokazano 1 pośredniej wersji utworzonej przez tego samego użytkownika) | |||
Linia 2: | Linia 2: | ||
1. Znaleźć plik backupu z żądanego dnia. Zazwyczaj jest to katalog /mnt/backup/ na serwerze. | 1. Znaleźć plik backupu z żądanego dnia. Zazwyczaj jest to katalog /mnt/backup/ na serwerze. | ||
+ | |||
2. Przegrać go na bok, np. do katalogu /root/temp | 2. Przegrać go na bok, np. do katalogu /root/temp | ||
+ | |||
3. Przygotować w tym katalogu plik z nazwami tabel do wypakowania. Należy użyć masek, żeby pominąć ścieżki do poszczególnych plików. Czyli tworzymy plik o nazwie, np. lista z zawartością *pr_tob.* | 3. Przygotować w tym katalogu plik z nazwami tabel do wypakowania. Należy użyć masek, żeby pominąć ścieżki do poszczególnych plików. Czyli tworzymy plik o nazwie, np. lista z zawartością *pr_tob.* | ||
+ | |||
4. Wypakowujemy pliki poleceniem: | 4. Wypakowujemy pliki poleceniem: | ||
tar -xvvzf nazwa_backupu --files-from=./lista | tar -xvvzf nazwa_backupu --files-from=./lista | ||
+ | |||
5. Zmieniamy nazwy plików po wypakowaniu (będą one w katalogu /root/temp/var/lib/mysql/db/ht/..... albo podobnym) | 5. Zmieniamy nazwy plików po wypakowaniu (będą one w katalogu /root/temp/var/lib/mysql/db/ht/..... albo podobnym) | ||
− | na takie, jakie mają być już w bazie. Trzeba pamiętać, że pliki do jednej tabeli są | + | na takie, jakie mają być już w bazie. Trzeba pamiętać, że pliki do jednej tabeli są trzy: MYI, MYD, frm |
+ | |||
6. Wgrywamy pliki do właściwego katalogu właściwej bazy danych. | 6. Wgrywamy pliki do właściwego katalogu właściwej bazy danych. | ||
+ | |||
7. Sprawdzamy uprawnienia do tych plików (mysql/mysql). | 7. Sprawdzamy uprawnienia do tych plików (mysql/mysql). | ||
+ | |||
8. Wykonujemy myisamchk na tych plikach i dla pewności analyze, żeby mieć pewność, że tabele są poprawne. | 8. Wykonujemy myisamchk na tych plikach i dla pewności analyze, żeby mieć pewność, że tabele są poprawne. | ||
+ | |||
9. Warto sprawdzić, czy wszystko gra, poleceniem select * from tabela limit 5; | 9. Warto sprawdzić, czy wszystko gra, poleceniem select * from tabela limit 5; |
Aktualna wersja na dzień 13:35, 16 gru 2009
Gdy chcemy wydobyć jakąś tabelę, albo kilka, z backupu, należy:
1. Znaleźć plik backupu z żądanego dnia. Zazwyczaj jest to katalog /mnt/backup/ na serwerze.
2. Przegrać go na bok, np. do katalogu /root/temp
3. Przygotować w tym katalogu plik z nazwami tabel do wypakowania. Należy użyć masek, żeby pominąć ścieżki do poszczególnych plików. Czyli tworzymy plik o nazwie, np. lista z zawartością *pr_tob.*
4. Wypakowujemy pliki poleceniem:
tar -xvvzf nazwa_backupu --files-from=./lista
5. Zmieniamy nazwy plików po wypakowaniu (będą one w katalogu /root/temp/var/lib/mysql/db/ht/..... albo podobnym) na takie, jakie mają być już w bazie. Trzeba pamiętać, że pliki do jednej tabeli są trzy: MYI, MYD, frm
6. Wgrywamy pliki do właściwego katalogu właściwej bazy danych.
7. Sprawdzamy uprawnienia do tych plików (mysql/mysql).
8. Wykonujemy myisamchk na tych plikach i dla pewności analyze, żeby mieć pewność, że tabele są poprawne.
9. Warto sprawdzić, czy wszystko gra, poleceniem select * from tabela limit 5;