Autor Zpráva
Marcel13333
Profil *
Zdravim, potreboval by som vylepsit mysqldump na export:

mysqldump --defaults-file=/cesta/heslu --protocol=socket -S /tmp/db50.sock --skip-opt --quote-names --complete-insert --extended-insert --quick --compact --lock-tables=false --skip-add-locks --net_buffer_length=50000 databaza | gzip > databaza.gz

Mam tabulky MyISAM no pri importe maju default ako je mysql server nastaveny cize vsetky su innodb, import trva strasne dlho, predpokladam ze tam nemam nastaveny nejaky max. insert limit, ako by to slo spravit?
juriad
Profil
Asi bych přidal:
--disable-keys (zakáže klíče a indexy v průběhu insertů)
--create-options (nejspíš způsobí přidání klauzule ENGINE pro tvorbu MyISAM tabulek)
--order-by-primary (pokud chceš na cílové mašině mít InnoDB a nevadí ti delší dump)
Vyhodil bych:
--compact (nepřijde mi užitečný, čas se tím neušetří)
--skip-opt (raději si nastav jednotlivé volby manuálně, některé se mi nelíbí a konfliktují s výše navrženými)
Marcel13333
Profil *
diky a ako vyriesit to aby nasledujuci import netrval tak strasne dlho? ak si zalohu spravim cez heidisql s vyssim max insert size, tak mi import cez mysqldump spravi ovela rychlejsie ako ked zalohujem databazu automaticky cez mysqldump
Kajman
Profil
Pro velké tabulky může být rychlejší select into outfile do csv a následný import přes load data infile nebo mysqlimport. Jen je to potřeba dělat pro každou tabulku zvlášť a strukuru tabulky mít už načtenou.
Marcel13333
Profil *
To by som musel kazdu tabulku prepdokladam zvlast exportovat, to sa mi moc nechce a nema mysqldump nejaky parameter ako nastavit max dat na insert?
juriad
Profil
Marcel13333:
Podívej se na výstup té HeidySQL a porovnej to s výstupem mysqldumpu. A pak si najdi parametr (popsané jsou na dev.mysql.com/doc/refman/5.0/en/mysqldump.html), který se tomu výstupu přiblíží.
Marcel13333
Profil *
parameter -e mi stacil pozuti :-) diky
juriad
Profil
-e je zkratka za --extended-insert, což už máš v [#1] uvedené, nejspíš se to tedy tluče s tím --quick, které je uvedené po něm.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0