Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Ręczny backup dużej bazy danych (używając PHP)
MatKus
post
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 3
Dołączył: 27.08.2008

Ostrzeżenie: (0%)
-----


Witam.
Pracuję nad pewnym serwisem i chcę sobie wykonać lokalną jego kopię, na której będe mógł spokonie pracować zamiast robić to na żywym orgamiźmie.
W tym celu potrzebuję wykonać zrzut sporej bazy danych.
i tu pojawia się problem. phpMyAdmin nie wykona tego, bo "Allowed memory size of 134217728 bytes exhausted..."
dostępu do shella nie mam, więc standardowy mysqldump
Mail do admina serwera raczej też odpada, bo za ponadplanowe backupy każą sobie płacić, a zresztą zanim się doczekam na jego reakcję, to się zestarzeję (IMG:style_emoticons/default/wink.gif)

Czy ktoś spotkał się ze skryptem, który by coś takiego potrafił wykonać? Coś a'la bigdump, tylko w drugą stronę? najlepiej żeby od razu gzippem albo czymkolwiek podobnym to kompresował? Tylko ważny element - ten skrypt musi mieć możliwość działania na raty, bo zapisanie niektórych elementów strony może potrwać długo (niektóre tabele mają po kilkaset MB) i prawdopodobnie dostał by timeouta, gdyby wszystko na raz zrzucał.
Go to the top of the page
+Quote Post
bpskiba
post
Post #2





Grupa: Zarejestrowani
Postów: 340
Pomógł: 49
Dołączył: 3.07.2009
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


Cytat(MatKus @ 12.04.2012, 15:15:38 ) *
Witam.
Pracuję nad pewnym serwisem i chcę sobie wykonać lokalną jego kopię, na której będe mógł spokonie pracować zamiast robić to na żywym orgamiźmie.
W tym celu potrzebuję wykonać zrzut sporej bazy danych.
i tu pojawia się problem. phpMyAdmin nie wykona tego, bo "Allowed memory size of 134217728 bytes exhausted..."
dostępu do shella nie mam, więc standardowy mysqldump
Mail do admina serwera raczej też odpada, bo za ponadplanowe backupy każą sobie płacić, a zresztą zanim się doczekam na jego reakcję, to się zestarzeję (IMG:style_emoticons/default/wink.gif)

Czy ktoś spotkał się ze skryptem, który by coś takiego potrafił wykonać? Coś a'la bigdump, tylko w drugą stronę? najlepiej żeby od razu gzippem albo czymkolwiek podobnym to kompresował? Tylko ważny element - ten skrypt musi mieć możliwość działania na raty, bo zapisanie niektórych elementów strony może potrwać długo (niektóre tabele mają po kilkaset MB) i prawdopodobnie dostał by timeouta, gdyby wszystko na raz zrzucał.



Phpmyadmin potrafi wykonać backup samej struktury bazy lub wybranych tabel. Najprościej będzie podzielić backup na kilka części i załatwić to phpmyadminem.
Problem będziesz miał z indeksami. Pierwsze należy przenieść strukturę bez indeksów, potem przenieść dane, a na końcu dodać indeksy.

Piotrek

Ten post edytował bpskiba 13.04.2012, 09:31:25
Go to the top of the page
+Quote Post
MatKus
post
Post #3





Grupa: Zarejestrowani
Postów: 63
Pomógł: 3
Dołączył: 27.08.2008

Ostrzeżenie: (0%)
-----


Tak, myślałem i o tym, ale to i tak będzie kilkanaście, jeśli nie kilkadziesiąt kawałków, bo w niektórych przypadkach nawet pojedynczej tabeli w całości nie zrzuci (największa tabela ma kilka mln wierszy po kilkadziesiąt kolumn) i myślałem, że ktoś może stworzył automat na to. Ale trudno, będę się bawił.
Go to the top of the page
+Quote Post
redeemer
post
Post #4





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


Jak masz dostęp do crona to wrzuć mysqldumpa do crona. Może możesz też ustawić aby do bazy można się podpiąć "z zewnątrz".
Go to the top of the page
+Quote Post
by_ikar
post
Post #5





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


http://sypex.net/en/ <- nawet kilkuset megową bazę, czy kilku gigową potrafi w bardzo krótkim czasie eksportować/importować (IMG:style_emoticons/default/wink.gif) nie ma za co.
Go to the top of the page
+Quote Post
gothye
post
Post #6





Grupa: Zarejestrowani
Postów: 702
Pomógł: 65
Dołączył: 16.03.2009

Ostrzeżenie: (0%)
-----


od tworzenia backup tak dużej bazy jest mysqldump
Go to the top of the page
+Quote Post
by_ikar
post
Post #7





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Ale mysqldump potrafi długo taką bazę mielić: http://forum.php.pl/index.php?showtopic=190877 oraz nie każdy ma dostęp do shh żeby móc zrobić dumpa bazy. sypex jest o tyle dobry że wymaga php jedynie. A szybkość robienia takich backupów jest nieporównywalna.
Go to the top of the page
+Quote Post
MatKus
post
Post #8





Grupa: Zarejestrowani
Postów: 63
Pomógł: 3
Dołączył: 27.08.2008

Ostrzeżenie: (0%)
-----


Dzięki, by_ikar, o to własnie mi chodziło.
A o tym, że nie mam dostepu do shella pisałem, gdybym miał, już dawno bym mysqldumpem załatwił sprawę (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 20:25