Wgranie fragmentaryczne dużej bazy danych

0

Dzień dobry, jak można sobie poradzić z wgraniem na hosting bardzo dużej bazy danych. Baza ma ponad 500 mb. Gdy próbuję ją wgrać, pojawia się z czasem błąd bo przekroczony został czas odpowiedzi. Mam plik bazy sql i zip. Czy można go jakoś podzielić na mniejsze na komputerze, niestety wgrywanie tak dużego pliku kończy się wgraniem tylko fragmentarycznym. Baza danych jak w MyISAM, jeśli to ma jakieś znacznie.

\ uff udało się wysłać wątek, próbowałem z 5 razy, w międzyczasie przeglądałem inne tematy. w oczekiwaniu.

0

A jak wgrywasz. Po ftp ? Możesz podzielić plik przy pakowaniu zipem. Ja bym też wciągnął lokalnie i zobaczył czy nie można tego jakoś poczyścić (po co płacić za coś co jest zbędne)

0
S4t napisał(a):

A jak wgrywasz. Po ftp ? Możesz podzielić plik przy pakowaniu zipem

Przez przeglądarkę na stronie phpmyadmin serwera. Mam już plik gotowy i sql i w zip. Tylko nie wiem jak to dodać, nie znam się na bazach danych zupełnie.

Da się jakoś wgrać na ftp i z niego do bazy - bo z tym ftp nie zrozumiałem.

Albo taki plik jaki mam, czy da się to jakoś, może jakimś progami podzielić na mniejsze?

Tam mam w bazie danych wiele "tabel?" tych drzew na przykład produkty to osobne drzewa, inne ceny - nie wiem jak to nazwać nawet, opisuję wizualnie. Widząc bazę danych po prostu ma strukturę drzewa. Jedne zajmują więcej a inne mniej jej segmenty. Tylko czy taką na PC da się jakość podzielić?

0

plik SQL to plik tekstowy.
mozesz podzielić na kilka kawałków i wgrać po kolei

0
Marius.Maximus napisał(a):

plik SQL to plik tekstowy.
mozesz podzielić na kilka kawałków i wgrać po kolei

Znaczy to otworzyć w notepadd++ i w dowolnym miejscu ciachnąć? Ale jak potem będę wiedział gdzie wgrać w jaką strukturę jakie dane. W pliku tym nie połamię się co jest do czego i gdzie się kończy i zaczyna. Dla mnie bazy danych to jest czary mary od strony ich języka.

0

@Cimron: tutaj potrzebna jest podstawowa wiedza z zakresu składni SQL, nie są to hieroglify ani pismo inków, popatrzysz w plik i Cie natchnie w parę minut

0
Marius.Maximus napisał(a):

@Cimron: tutaj potrzebna jest podstawowa wiedza z zakresu składni SQL, nie są to hieroglify ani pismo inków, popatrzysz w plik i Cie natchnie w parę minut

Tak to prawda, zawsze mam natchnienie jak muszę coś zrobić z bazą danych. Wtedy nie potrzebuję błonnika, bo sama myśl z pracą przy bazie danych to ogarnia.

Akurat w innych sprawach jakoś daje radę, w razie co doczytuję. Ale z tym jednym dziadostwem już mi ręce opadają bo nie mogę sobie poradzić.

Może jest jakiś program co by dało to ogarnąć. A może coś takiego wgrać to na xampp jako bazę i tam to wyłuskać jakoś? Tylko, że tam pewnie też będzie problem z dodaniem tak dużego pliku. Jeśli ktoś ma pomysł jak poradzić sobie tak dla zupełnego zielonego, to bardzo proszę napisać, lub dać wskazówki to doczytam jak znajdę jakieś informacje. Ale nie wiem, jak tego szukać. Bo tiem out i porady na taki problem to nie na taką spasioną bazę, już próbowałem.

2

Czyli dedukujmy, używasz phpmyadmin, to pewnie masz też apache zainstalowane, masz timeout przy requeście bo czasu ci nie starczyło, jeśli nie chcesz użyć innego protokołu jak ftp czy po ssh.

To musisz w apache zmienić timeout na dłuższy tak żebyś zdążył wrzucić ten plik.
Chodź i tak nie jestem pewny z opisu co dokładnie powoduje błąd.

Z tego co wiem, to apache jak minie timeout to ubija process.

0
tumor napisał(a):

Koniec czasu wykonywania odpowiedzi serwera. Po prostu po paru minutach próby wgrywania się one przerywa, w tym samym czasie zawsze.

Teraz czytam o tym FTP i SSH - tego nie znałem, (na razie też mało z tego rozumiem). Wynika że wgrywam bazę na FTP (a przynajmniej próbuje). I tam już wiele tekstu jakiego nie do końca rozumiem w wykonaniu jej wgrywania. Ale poczytam kilka artykułów na ten temat, może coś mi się rozjaśni. Na razie jeden studiuję z jakiego treści zupełnie jestem oszołomiony jego niezrozumiałą dla mnie informacją. W bazach danych zupełnie się nie znam, dla mnie to są czyste szarady.

0

Apache ma jeszcze dodatkowo default max upload limit size do 2MB to też może się ztriggerować.

1

@Cimron: pisz co robisz to będzie łatwiej korygować błędy.
Masz jakies dane użytkownika/hasło aby połączyć się po SSH/FTP ?
Bo może masz tylko phpmyadmin i musisz podzielić bazę aby to wgrać

0
Marius.Maximus napisał(a):

@Cimron: pisz co robisz to będzie łatwiej korygować błędy.
Masz jakies dane użytkownika/hasło aby połączyć się po SSH/FTP ?
Bo może masz tylko phpmyadmin i musisz podzielić bazę aby to wgrać

Spróbuję doczytać na stronach opisujących to zagadnienie i coś takiego przeprowadzić. Na razie jeszcze nie wiem o co w tym nawet dokładnie chodzi i jakie potrzebne są dane i dostępy. Bo FTP posiadam do niego dostęp ale nie wiem czy o to chodzi. Spokojnie poczytam i spróbuję to ogarnąć rozumem. Jak coś całkiem skopie to napiszę. Spróbuję jeszcze z tym XAMPP - bo to wydaje mi się że by było najprostsze - ją w phpmyadmin podzielić na komputerze. Na to potrzebuję trochę czasu, wole z marszu nie robić takich prób. Poczytam o ty, bo wcześniej nawet nie wiedziałam o takiej możliwości z FTP.

0

Otwórz sobie ten duży plik i potnij go na kilka mniejszych zawsze przed początkiem instrukcji INSERT.
Zapisz każdy z tych plików, skompresuj i wrzucaj po kolei.
Bo z aktualną wiedzą (jaką tu przedstawiasz) będzie Ci ciężko zrobić to inaczej.

3

Odpowiedź jest prosta. Nie używaj do tego phpmyadmin.
Każda strona ma limit czasu odpowiedzi, możesz ustawić go z przykładowo 2s na 5s i przy obecnym pliku to zadziała. Za miesiąc będziesz miał +50mb i już timeout się pokaże i znów zwiększysz czas na 6s itd. itd.
Pliku dumpa nie potniesz tak łatwo. Trzeba znać dokładnie zależności między tabelami. Np. User może potrzebować kluczy obcych w roles.
Rozwiązanie jest jedno. zmienić sposób odtworzenia bazy. Zobacz jak zrobić to przez CMD i ewentualnie SSH (bo pewnie to jakiś zdalny serwer) przy użyciu mysqld

3
Cimron napisał(a):

. Dla mnie bazy danych to jest czary mary od strony ich języka.

Powiedz sponsorowi, że nie jesteś właściwym człowiekiem do tego zlecenia

0
AnyKtokolwiek napisał(a):
Cimron napisał(a):

. Dla mnie bazy danych to jest czary mary od strony ich języka.

Powiedz sponsorowi, że nie jesteś właściwym człowiekiem do tego zlecenia

Czyli samemu sobie - ale nie wiem czy mi to coś pomoże, na razie na weekend nowy zaplanowałem spróbowanie A - wgrania na xampp i tam podzielenia. Oraz B jeśli zawiedzie A - po przeczytaniu kilku treści o tym wykorzystaniu FTP. Jako B bo wydaje mi się to dużo trudniejsze jak na mój poziom wiedzy co do baz.

1

Dobra to inaczej. Raz chcesz tą bazę odtworzyć?
Chcesz się czegoś nauczyć?
Gdzie odtworzasz tą bazę? Bo pojawia się XAMPP a to lokalny serwer www który ma wbudowany PHPMyAdmin jako opcję - taki lokalny kombajn do tworzenia aplikacji w PHP z użycie MySQL.
Jak to jest na jakimś hostingu to czy masz np. dostęp do jakiegoś panelu administracyjnego strony?

0
jurek1980 napisał(a):

Wszystko mam tylko wiedzy nie mam co do dużych baz i ich sposobów wgrywania. Na razie Panowie poczekajcie do soboty następnej. Spróbuję wgrać bazę z pliku na xampp do phpmyadmin - następnie tam wgraną bazę podzielić na mniejsze - osobno wyciągać pliki z tabelami. Aby nie była to baza ponad 500 MB tylko podzielona na mniejsze. Każdy typ tabel - czy jak to się nazywa w tym drzewie widoku rodzajów elementów podzielić osobno. To zajmie trochę czasu dlatego na weekend. Jak to się nie uda to spróbuję innych metod, jakie uważam ze są dla mnie dużo bardziej niezrozumiałe i trudne.

Mam tylko 1 stronę i po prostu chcę zmienić jej serwer w sieci. Ale nie mam też ciśnienia jakiegoś gwałtownego, bo czas mam na przeniesienie jeszcze 60 dni do wygaśnięcia poprzedniego.

1

Nie podzielisz tego pliku dump tak jak to odpisujesz.
Jak masz dostęp do ustawień hostingu poszukaj opcji:
max_execution_time i ustaw coś większego niż jest obecnie np.
max_execution_time = 5000. Nominalnie jest to parametr w pliku ustawień języka PHP: php.ini
ale jak piszę to może być też do wyklikania w GUI. Po tym jak wgrasz bazę przywrócić poprzednie ustawienie.
60 dni to mało na naukę tego co może być tu potrzebne do wykonania wszystkich działań.
Kolejna opcja to zrób aktualny backup bazy jak ją przenosisz i wykonaj na niej optymalizację/shrink - tu masz tutorial z obrazkami:
https://help.one.com/hc/en-us/articles/115005585529-How-do-I-optimize-a-database-in-phpMyAdmin-
Potem stwórz kolejny backup - powinien być mniejszy niż poprzednio.

2

@Cimron moim zdaniem kręcisz się w kółko. Jak rozumiem dumpa już zrobiłeś, więc pozostaje wrzucić go na nowy serwer (przypuszczalnie jakiś hosting). Skoro przy narzędziach które znasz (phpmyadmin) nie zadziałało, pisz do supportu niech poinformują cię o możliwościach, jak można przeprowadzić taką operację.
Instalowanie XAMPP i rozkminanie tego: Stracisz tylko czas nad rozwiązaniem problemów importu na lokalnym kompie, bez gwarancji, że jakaś duża tabela i tak nie wygeneruje problemów które masz obecnie.

0

@Cimron napisanie tego posta trwa dłużej niż rozwiązanie Twojego problemu przez osobę która choć trochę ma doświadczenia w temacie.
Zafiksowałeś się na jedno rozwiązanie i kręcisz baczki
Nawet ciężko Ci pomóc jak FTP i SSH poznałeś dzięki temu wątkowi

0
Marius.Maximus napisał(a):

Dlatego nie boję się pytać o to czego nie wiem. To tak jak by Panu ktoś dziś tłumaczył na przykład zawiłości podatkowe w naszym kraju od strony prowadzenia filmy. Wysiadł by Pan być może już po kilku zdaniach - zupełnie czując się oszołomionym takimi informacjami. Ja pewnie także, ale wiem to czego nie wiem i o to pytam. Wiedza mi tak jest potrzebna jednorazowo, lub raz na x lat. Więc nie ma sensu być w tym ekspertem ani nawet biegłym - tylko tyle aby rozwiązać problem doraźnie.

Chyba nie zakładasz, że ktoś co ma wiedzę zakłada temat z takim pytaniem. Inaczej po co by była mi potrzebna pomoc. Sam bym rozwiązał swoje problemy. Natomiast samemu mogę z marszu rozwiązać wiele zagadnień formy prawnej i to całkiem mocno złożonych. Także są tego typu strony - gdzie znowu ja tam mogę być ekspertem a nie pytającym.

Na razie Panowie dajcie mi czas jak pisałem do soboty. Po kolei posprawdzam wszystko co pisaliście i na co mnie naprowadzaliście.

1
Cimron napisał(a):

Dlatego nie boję się pytać o to czego nie wiem. To tak jak by Panu ktoś dziś tłumaczył na przykład ... ciach

Forum (żadne) nie jest do nadrabiania wiedzy podstawowej. Zresztą, nawet GDYBY ktoś napisał 20 stronicowe postawy - skąd przypuszczenie ze byś ty (lub podobni ludzie) to przeczytali.

Więc śmieszne jest jak się unosisz.

0

A nie możesz się podłączyć do bazy danych np. za pomocą DBeavera i za pomocą niego wgrać bazę?

0
AnyKtokolwiek napisał(a):
Cimron napisał(a):

Dlatego nie boję się pytać o to czego nie wiem. To tak jak by Panu ktoś dziś tłumaczył na przykład ... ciach

Forum (żadne) nie jest do nadrabiania wiedzy podstawowej. Zresztą, nawet GDYBY ktoś napisał 20 stronicowe postawy - skąd przypuszczenie ze byś ty (lub podobni ludzie) to przeczytali.

Więc śmieszne jest jak się unosisz.

Ale ja to ogarnę na bazie porad osób z tego tematu - Pana 100% wypowiedzi w tym temacie było całkowicie zbędnych i zupełnie nic nie wnoszących - nawet nie wiem po co Pan zabierał głos w tym wątku (2x gdzie zupełnie nie napisał nic mającego sens - taki totalny offotop).. A tak pomagam od podstaw ludziom w zakresie prawa na czym samemu się dobrze znam, a ludzie pytający raczej nie.. I robię to także bezpłatnie na grupach Fb..

Dla mnie jest Pana podejście absolutnie niezrozumiałe. Pozostali wypowiadający się w tym wątku napisali mi bardzo przydatne informacje i na bazie nich samemu na pewno ogarnę problem. W razie co podpytam, a widzę że chętnie użytkownicy dzielą się wiedzą.

Lecz po co Pan udzielał się 2x w tym wątku, pisząc zupełnie od czapy wypowiedzi nikomu niepotrzebne - to nie mam pojęcia. Proszę już nie zamieszczać swojej 3 wypowiedzi - bo też jest mi ona niepotrzebna, cokolwiek Pan nie wymyśli - nie rób z tego tematu większego już offtopu niż zrobiłeś do tej pory. Ja nie potrzebuję Pana mądrości nie na temat i nic nie wnoszących dla mnie czyli pytającego.

0

@Cimron: a mógłbyś podać na jaki hosting to przenosisz?

2

Netmark z cyberfolks

To najprościej w kilku krokach:

  1. Wgraj plik dump na serwer przez ftp
  2. Zaloguj się przez ssh
  3. Sprawdź komendą: compgen -c|grep mysql czy masz dostęp do narzędzia mysql
  4. Jeżeli masz to wgraj dumpa przy pomocy mysql: mysql -u username -p database_name < file.sql
  5. Jeżeli nie masz dostępu do narzędzia mysql pisz do suportu

Tak instrukcja poglądowo i w DUŻYM uproszczeniu pokazauje jak to zrobić.

1

Witajcie, udało się to wszystko przeprowadzić. Skorzystałem z wielu waszych porad. Przeniosłem to wielkim plikiem po porostu wgranym z przeglądarki - po zmianie domyślnych ustawień pliki php.ini na większe pliki oraz zmianie czasu wywoływania czy odpowiedzi serwera na dłuższy, aby miał czas to przetrawić. Następnie plik ini zmieniłem na domyślne ustawienia.

Także poszło przez przeglądarkę i strona działa. Zajmowanie się dla mnie bazą danych jest jak ruszanie miny, tym razem się udało. Ogromnie dziękuję wszystkim za wskazówki i pomoc. Dla mnie to kamień z barków że wszystko i było na zielono a nie jakieś ponownie błędy. Dzięki jeszcze raz za pomoc! a szczególnie @jurek1980 - najbardziej mi pomogła Twoja wypowiedź.

1 użytkowników online, w tym zalogowanych: 0, gości: 1