Code:Wydobywanie tabel z archiwum: Różnice pomiędzy wersjami
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ą 3: ....MYI, MYD, frm | na takie, jakie mają być już w bazie. Trzeba pamiętać, że pliki do jednej tabeli są 3: ....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; |
Wersja z 13:34, 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ą 3: ....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;