Portál AbcLinuxu, 10. května 2025 14:17

Dotaz: phpmyadmin import velkeho suboru

25.3.2011 08:35 amico | skóre: 24
phpmyadmin import velkeho suboru
Přečteno: 1398×
Odpovědět | Admin
Zdravim
Potrebujem importovat udaje do mysql databazy cez phpmyadmin a stale mi to urobi len cast prikazov...
skomprimovany subor ma velkost 700kb po rozbaleni 10MB --- zrejme je problem s velkostou resp casom pre beh skriptov..
Je nejake riesenie? Inak ako cez phpmyadmin sa na tom hostingu do databazy nedostanem....
(jedna sa o prenos drupalu)

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

25.3.2011 10:36 Pavel
Rozbalit Rozbalit vše Re: phpmyadmin import velkeho suboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Videl bych to na nastaveni timeoutu na strane PHP.
25.3.2011 10:40 mfo
Rozbalit Rozbalit vše Re: phpmyadmin import velkeho suboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
No podla toho co tu popisujes to kludne moze byt chyba na strane servera. max file size upload na apache alebo tak nejak. (niesom Apache adimin). Ak sa nedohodnes s adminimi servera ten subor si pekne otvor mysql dump je clear text file a rozdel si ho manualne. A spusti rozdelene sql-ka postupne.

Inak rad by som vedel ci kde ti to skonci chybou stale na tom istom mieste, proste si pozri data ktore uz dump importol. Alebo mas nejaku chybovu hlasku ktoru dostanes? Ak ano sem s nou.

PS: niesom si isty ci PHPmyadmin nema nieco ako importovat z lokalneho uloziska. A ak mas hosting minimalne FTP tam mas, nie?

mfo.

25.3.2011 13:17 amico | skóre: 24
Rozbalit Rozbalit vše Re: phpmyadmin import velkeho suboru
Odpovědět | | Sbalit | Link | Blokovat | Admin

v phpmyadmin pisu max velkost import suboru 2 048KB

vyberam postupne nie vsetky naraz tabulky ale tak aby vysledny subor.sql nebol vacsi ako 2MB

Nevie niekto ako rozdelit subor.sql automaticky na niekolko casti? Tak aby to fungovalo samozrejme jedna tabulka ma cez 6MB
25.3.2011 13:47 mfo
Rozbalit Rozbalit vše Re: phpmyadmin import velkeho suboru
Zial neviem poradit ako rozdelit dump automaticky. Co sa tyka tej tabulky cez 6mb - hmm. Ja by som to riesil asi tak ze by som sa spytal adminov - nech to importnu oni. ak by neboli ochotny - nech menia parameter v php adminovi na par hodin na vetsiu hodnotu. Ak by to neslo - riesil by som to rucne. niesom si isty ale dump vyzera nasledovne create table XXX ............... insert into XXX .......... ten insert kludne mozes rozdelit podla nejakeho primarneho klucaa potom nemas problem.

mfo
25.3.2011 17:59 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: phpmyadmin import velkeho suboru
Automaticky ne, ale:
Pokud to padá na timeout limitu, tak phpMyAdmin má feature, že při importu zafajfkujete "Allow the interuption of an import…" a při prvním file-su zvolíte hodnotu „…skip from starts“ nula.
Pokud se to přeruší vypíše to hodnotu a myslím to i přednastaví „…skip from starts“, takže dáte znovu upload stejného souboru zase ze stejnou volbou, ale přepsanou hodnotou „…skip from starts“. A tak to opakujete dokud se to neprovede celé. (Musíte uploadovat stejný soubor a mustíte to mít stále zaškrklé a jen měnit hodnotu přeskočení).

Přímá odpověď na otázku jak rozdělit soubor na 4 menší ručně:
Vypadá to dlouze, ale pokud to máte dělat jednou za 10min jste hotový.
  • Při exportu 1ks velké tabulky (aplikovatelné i na více tabulek v jednom souboru) v oblasti data zaškrnout „Complete inserts“ a „Extended inserts“ (není nutné, ale je to základ pro dále popisovaný stav). V poli „Maximal length of created query“ vložit hodnotu třeba 30000.
  • Provést export.
  • Rozbalit si to na lokále (bylo-li to komprimováno)
  • Soubor otevřít ve svém oblíbeném editoru
  • Otevřít další tři prázdné sobory
  • Najet svislým šoupákem (nebo jakkoliv jinak) do přibližné 1/4 souboru a v této oblasti, vyhledat INSERT INTO na začátku řádku.
  • Vše od začátku souboru po toto místo zkopírovat do 1. připraveného prázdného souboru a ve zdrojovém to smazat (CUT & COPY)
    Pozn: zdrojový soubor pak bude začínat INSERT INTO na prvním řádku.
  • Zopakovat to samé do 1/3 souboru a pro druhý soubor
  • Zopakovat to samé do 1/2 souboru a pro třetí soubor
  • Zbylý je v pořadí 4. soborem
  • Pokud je v prvním souboru něco před CREATE TABLE, nebo prvním INSERT INTO, jako třeba SET SQL_MODE=něco a nezačíná to na --<mezera>, tak to zkopírovat na začátek každého souboru na samostatný řádek.
  • Pokud je něco v posledním souboru na konci nezačínající --<mezera>, tak to doplnit i do zbývajících na konec (ale neočekával bych to).
  • Importovat v pořadí 1-4 ........ Good Luck :)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
25.3.2011 18:17 Ash | skóre: 53
Rozbalit Rozbalit vše Re: phpmyadmin import velkeho suboru
Pokud je v prvním souboru něco před CREATE TABLE, nebo prvním INSERT INTO, jako třeba SET SQL_MODE=něco a nezačíná to na --<mezera>, tak to zkopírovat na začátek každého souboru na samostatný řádek.

Pokud to není DROP TABLE :)
25.3.2011 18:24 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: phpmyadmin import velkeho suboru
Správná připomínka, nic začínají DROP nebrat! :)
Tzn. nezapínat „Add DROP TABLE“ při exportu, nebo to nechat jen v prvním souboru (jen pro jistotu, znamená to: „tabulko definitivně zmiz!“).
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
25.3.2011 14:30 chrono
Rozbalit Rozbalit vše Re: phpmyadmin import velkeho suboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nebolo by jednoduchšie si tú DB importovať do lokálnej databázy a potom použiť MySQLDumper (a potom to naimportovať na server tiež pomocou MySQLDumper)?
25.3.2011 14:32 chrono
Rozbalit Rozbalit vše Re: phpmyadmin import velkeho suboru
Teda MySQLDumper vie importovať aj priamo výstup phpMyAdmin, ale netuším, či to nebude trvať príliš dlho (a navyše je možné, že dostatočne nové phpMyAdmin si tiež poradí s krátkym povoleným časom vykonávania php).
25.3.2011 21:38 amico | skóre: 24
Rozbalit Rozbalit vše Re: phpmyadmin import velkeho suboru
Vdaka chlapi ten dumper pomohol horsie ze to nefunguje ... ale to je uz na nove vlakno... doma na localhost to ide pekne, ten novy hosting ma oproti tomu teraz, nejak inak nastavene rewrite, htacces predpokladam ze to robi problem este preskumam pripadne napisem
MaT avatar 31.3.2011 14:58 MaT | skóre: 28
Rozbalit Rozbalit vše Re: phpmyadmin import velkeho suboru
No jo, tohle je problém levných hostingů... Dneska už bych snad hosting bez shellového přístupu ani nebral. Sám si v poslední době hraju s VPS a to je úplně o něčem jiném. :-)

Jinak v dobých, kdy jsem to u obyčejných hostingů taky musel řešit jsem si vypomohl třeba programem PHP shell. Je to normální PHP skript, v konfiguraci se nastaví jméno a heslo - a z prohlížeče pak šlo (aspoň u některých hostingů) pouštět normálně mysqldump/mysql. Takže celý DUMP, co jsem si tam potřeboval naimportovat, jsem si tam pěkně nahrál přes FTP (v lepším případě přes SCP) a přes PHP shell zadal potřebný příkaz. Lokální import je obvykle otázkou pár vteřin i u DUMP souborů v řádu desítek megabajtů...
Open source software for open minded people. :-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.