Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 18434|Odpoveď: 2

[Zdroj] MySQL používa mysqldump na export dát s podmienkami

[Kopírovať odkaz]
Zverejnené 26. 4. 2019 16:07:23 | | | |

Zálohovanie a export databázy MySQL
https://www.itsvse.com/thread-4004-1-1.html
(Zdroj: Architect_Programmer)
Mysqldump importuje a exportuje súhrny databáz
https://www.itsvse.com/thread-4353-1-1.html
(Zdroj: Architect_Programmer)
mysqldump exportuje databázu "access den"
https://www.itsvse.com/thread-4005-1-1.html
(Zdroj: Architect_Programmer)

Ako je ukázané na odkaze vyššie, obsah celej databázy sa exportuje, dá sa exportovať s podmienkami? Samozrejme, že môžeš!


Príkaz:

Analýza parametrov:

  • -h: Špecifikovať adresu databázy
  • --port: Špecifikujte databázový port, ak je to predvolený port 3306, môže byť vynechaný
  • -u: číslo účtu
  • -p: heslo
  • db_name: Toto sa týka toho, ktorú databázu exportovať
  • tab_name: Toto sa týka toho, ktorú tabuľku exportovať
  • --kde: kritériá filtra dát
  • --no-create-info: exportuje iba dáta bez pridania príkazu CREATE TABLE.


Na konci sledujte cestu na miesto, kde potrebujete exportovať úložisko.

Ilustrovať:

-t: Iba orientačné údaje

--kde: stav

--triggers=false: Neviesť spúšťače

--nahradiť: Nahradiť INSERT INTO za REPLACE INTO



Parametre:

--všetko-databázy, -A

Exportujte všetky databázy.

mysqldump -uroot -p --all-databases

--všetky stolové priestory , -Y

Exportujte všetky tabuľkové priestory.

mysqldump -uroot -p --all-databases --all-tablespaces

--no-tablespaces , -y

Neexportujú sa žiadne informácie o stolovom priestore.

mysqldump -uroot -p --all-databases --no-tablespaces

--add-drop-database

Pridajte príkaz drop database pred vytvorením každej databázy.

mysqldump -uroot -p --all-databases --add-drop-databases

--add-drop-table

Pridajte príkaz drop table pred vytvorením každej dátovej tabuľky. (Predvolené je otvorené, použite možnosť --skip-add-drop-table na zrušenie)

mysqldump -uroot -p --all-databases (predvolene pridať príkaz drop)

mysqldump -uroot -p --all-databases –skip-add-drop-table (príkaz undrop)

--add-locks

Pred každým exportom tabuľky pridajte LOCK TABLES a potom UNLOCK TABLE. (predvolené je zapnuté, použite --skip-add-locks na zrušenie možnosti)

mysqldump -uroot -p --all-databases (príkaz LOCK je predvolene pridaný)

mysqldump -uroot -p --all-databases –skip-add-locks (príkaz unlock príkazu)

--povoliť-kľúčové slová

Umožňuje vytváranie názvov stĺpcov, ktoré sú kľúčové slová. To sa robí tak, že sa názov tabuľky pridáva každému názvu stĺpca.

mysqldump -uroot -p --all-databases --allow-keywords

--apply-slave-príkazy

Pridajte 'STOP SLAVE' pred 'ZMENIŤ MASTER' a 'ZAČAŤ SLAVE' na koniec exportu.

mysqldump -uroot -p --all-databases --apply-slave-príkazy

--character-sets-dir

Adresár súborov znakov

mysqldump -uroot -p --all-databases --character-sets-dir=/usr/local/mysql/share/mysql/charsets

--komentáre

Ďalšie poznámky. Je zapnutý predvolene a dá sa zrušiť pomocou --skip-comments

mysqldump -uroot -p --all-databases (predvolené komentáre záznamu)

mysqldump -uroot -p --all-databases --skip-comments (uncomment)

--kompatibilné

Exportované dáta budú kompatibilné s inými databázami alebo staršími verziami MySQL. Hodnoty môžu byť ANSI, MySQL323, MySQL40, PostgreSQL, Oracle, MSSQL, DB2, MaxDB, no_key_options, no_tables_options, no_field_options atď.

Ak chcete použiť viacero hodnôt, rozostupujte ich čiarkami. Nie je zaručené, že bude úplne kompatibilný, ale pokiaľ je to možné.

mysqldump -uroot -p --all-databases --compatible=ansi

--kompaktný

Exportujte menej výstupných informácií (na ladenie). Odstráňte štruktúry ako anotácie a hlavy a znaky. Možnosť je dostupná: --preskočiť-pridať-vypustiť-tabuľku --preskočiť-pridať-zámky --preskočiť-komentáre --preskočiť-vypnúť-kľúče

mysqldump -uroot -p --all-databases --compact

--úplné-vložiť, -c

Použite celý insert príkaz (vrátane názvu stĺpca). To môže zlepšiť účinnosť vkladania, ale môže byť ovplyvnené max_allowed_packet parametrami a spôsobiť zlyhanie zavádzania.

mysqldump -uroot -p --all-databases --complete-insert

--komprimovať, -C

Povoliť kompresiu na prenos všetkých informácií medzi klientom a serverom

mysqldump -uroot -p --all-databases --compress

--create-options, -a

Zahrňte všetky možnosti funkcií MySQL do príkazu CREATE TABLE. (Predvolené nastavenie je zapnuté)

mysqldump -uroot -p --all-databases

--databázy, -B

Exportujte niekoľko databáz. Všetky názvy parametrov po parametri sa považujú za názvy databáz.

mysqldump -uroot -p --databases test mysql

--debug

Výstup informácií o ladení na ladenie. Predvolená hodnota je: d:t:o,/tmp/mysqldump.trace

mysqldump -uroot -p --all-databases --debug

mysqldump -uroot -p --all-databases --debug=" d:t:o,/tmp/debug.trace"

--debug-check

Skontroluj pamäť a otvor súbor a ukonči to.

mysqldump -uroot -p --all-databases --debug-check

--debug-info

Výstupné informácie o ladení a výstup

mysqldump -uroot -p --all-databases --debug-info

--default-znaková sada

Nastavte predvolenú znakovú sadu, predvolená hodnota je utf8

mysqldump -uroot -p --all-databases --default-character-set=latin1

--oneskorené vloženie

INSERT DELAYED na export dát

mysqldump -uroot -p --all-databases --delayed-insert

--delete-master-logs

Hlavná záloha maže logy. Tento parameter automaticky aktivuje --master-data.

mysqldump -uroot -p --all-databases --delete-master-logs

--disaktiv-keys

Pre každú tabuľku použite /*!40000 ALTER TABLE tbl_name DISABLE KEYS */; a /*!40000 ALTER TABLE tbl_name POVOLIŤ KĽÚČE */; Vyhlásenie odkazuje na príkaz INSERT. To umožňuje rýchlejší import dumpovaných súborov, pretože po vložení všetkých riadkov vytvorí index. Táto možnosť je dostupná iba pre MyISAM tabuľky, ktoré predvolene nastavujú otvorený stav.

mysqldump -uroot -p --all-databases

--dump-slave

Táto možnosť spôsobí, že sa k súboru, z ktorého sú exportované dáta pripojené, pridá hlavný binlog a názov súboru. Keď je nastavený na 1, príkaz CHANGE MASTER sa použije na výstup do dátového súboru. Keď je nastavené na 2, pridajte vysvetľujúce informácie pred príkazom. Táto možnosť zapne --uzamknúť-všetky tabuľky, pokiaľ nie je špecifikovaná --single-transaction. Táto možnosť automaticky vypne možnosť --lock-tables. Predvolená hodnota je 0.

mysqldump -uroot -p --all-databases -dump-slave=1

mysqldump -uroot -p --all-databases -dump-slave=2

--udalosti, -E

Exportné podujatia.

mysqldump -uroot -p --all-databases --events

--rozšírené-insert, -e

Použite syntax INSERT s viacerými stĺpcami VALUES. To zmenšuje export súborov a urýchľuje import. Predvolene na otvorený stav, použite --skip-extended-insert na zrušenie možnosti.

mysqldump -uroot -p --all-databases

mysqldump -uroot -p --all-databases--skip-extended-insert (unoption)

--polia-ukončené-

Ignorujte dané polia v exportnom súbore. Používa sa s možnosťou --tab, nie pre možnosti --databázy a --all-databases

mysqldump -uroot -p test --tab="/home/mysql" --fields-terminated-by="#"

--polia-uzavreté

Jednotlivé polia vo výstupnom súbore sú obalené zadanými znakmi. Používa sa s možnosťou --tab, nie pre možnosti --databázy a --all-databases

mysqldump -uroot -p test --tab="/home/mysql" --fields-enclosed-by="#"

--fields-optionally-enclosed-by-by

Polia vo výstupnom súbore sú selektívne zabalené do daných znakov. Používa sa s možnosťou --tab, nie pre možnosti --databázy a --all-databases

mysqldump -uroot -p test test --tab="/home/mysql" --fields-enclosed-by="#" --fields-optionally-enclosed-by ="#"

--polia-uniknuté-

Jednotlivé polia vo výstupnom súbore ignorujú dané znaky. Používa sa s možnosťou --tab, nie pre možnosti --databázy a --all-databases

mysqldump -uroot -p mysql user --tab="/home/mysql" --fields-escaped-by="#"

--flush-logs

Obnovte logy pred začatím exportu.

Upozorňujeme: ak exportujete viacero databáz naraz (pomocou možností --databases alebo --all-databases), logy sa budú aktualizovať podľa jednotlivých databáz. Okrem použitia --lock-all-tables alebo --master-data. V takom prípade sa log obnoví raz a zodpovedajúca tabuľka sa zároveň uzamkne. Preto, ak plánujete súčasne exportovať a vyčistiť logy, mali by ste použiť --lock-all-tables alebo --master-data a --flush-logs.

mysqldump -uroot -p --all-databases --flush-logs

--flush-privilégiá

Po exporte databázy mysql vydajte príkaz FLUSH PRIVILEGES. Pre správne obnovenie by sa táto možnosť mala kedykoľvek použiť na export databázy MySQL a závislých dát databázy MySQL.

mysqldump -uroot -p --all-databases --flush-privileges

--sila

Ignorujte SQL chyby, ktoré sa vyskytujú počas exportu.

mysqldump -uroot -p --all-databases --force

--pomoc

Zobraziť informácie o pomoci a odísť.

mysqldump --pomoc

--hex-blob

Exportujte binárne reťazce pomocou hexadecimalného formátu. Táto možnosť sa musí použiť, ak sú dostupné binárne údaje. Postihnuté typy polí sú BINARY, VARBINARY a BLOB.

mysqldump -uroot -p --all-databases --hex-blob

--moderátor, -h

Informácie o hostiteľovi, ktoré je potrebné exportovať

mysqldump -uroot -p --host=localhost --all-databases

--ignore-table

Špecifikovaná tabuľka sa neexportuje. Pri špecifikovaní, že sa ignoruje viacero tabuliek, je potrebné to opakovať viackrát, po jednej tabuľke naraz. Každá tabuľka musí špecifikovať databázu aj názov tabuľky. Napríklad: --ignore-table=database.table1 --ignore-table=database.table2 ......

mysqldump -uroot -p --host=localhost --all-databases --ignore-table=mysql.user

--include-master-host-port

'CHANGE MASTER NA..' generované --dump-slave Pridajte do <host>výroku 'MASTER_HOST=,MASTER_PORT<port>='  

mysqldump -uroot -p --host=localhost --all-databases --include-master-host-port

--insert-ignore

Pri vkladaní riadku použite príkaz INSERT IGNORE.

mysqldump -uroot -p --host=localhost --all-databases --insert-ignore

--riadky-ukončené

Každý riadok výstupného súboru je rozdelený daným reťazcom. Používa sa s možnosťou --tab, nie pre --databázy a --all-databases.

mysqldump -uroot -p --host=localhost test test --tab="/tmp/mysql" --lines-terminated-by="##"

--zamknúť-všetky-stoly, -x

Požiadajte o uzamknutie všetkých tabuliek vo všetkých databázach, aby ste zabezpečili konzistentnosť dát. Ide o globálny zámok čítania a možnosti --single-transaction a --lock-tables sú automaticky vypnuté.

mysqldump -uroot -p --host=localhost --all-databases --lock-all-tables

--zámkové stoly, -l

Zamknite všetky stoly pred začatím exportu. Uzamknite tabuľku pomocou READ LOCAL, aby sa MyISAM tabuľky vkladali paralelne. Pre tabuľky, ktoré podporujú transakcie, ako InnoDB a BDB,--single-transaction je lepšou voľbou, pretože vôbec nevyžaduje zamykanie tabuliek.

Všimnite si,-- že pri exporte viacerých databáz lock-tables uzamkne tabuľky pre každú databázu samostatne. Preto táto možnosť nezaručuje logickú konzistenciu medzi databázami pre tabuľky v exportovanom súbore. Stav exportu rôznych databázových tabuliek môže byť úplne odlišný.

mysqldump -uroot -p --host=localhost --all-databases --lock-tables

--log-chyba

Priložte varovania a chybové hlásenia k danému súboru

mysqldump -uroot -p --host=localhost --all-databases --log-error=/tmp/mysqldump_error_log.err

--master-data

Táto možnosť pridáva polohu a názov súboru binlogu k výstupnému súboru. Ak je to 1, zobrazí sa príkaz CHANGE MASTER; Ak je to 2, pridajte komentár pred výstupný príkaz ZMENIŤ MASTER. Možnosť zapne možnosť --lock-all-tables, pokiaľ nie je špecifikovaná aj --single- transakcia (v tomto prípade má globálny read lock krátky čas pri začiatku exportu; Pre iný obsah si prosím pozrite možnosť --single-transaction nižšie). Táto možnosť sa automaticky vypne – možnosť lock-tables.

mysqldump -uroot -p --host=localhost --all-databases --master-data=1;

mysqldump -uroot -p --host=localhost --all-databases --master-data=2;

--max_allowed_packet

Maximálna dĺžka paketu, ktorý server odoslal a prijal.

mysqldump -uroot -p --host=localhost --all-databases --max_allowed_packet=10240

--net_buffer_length

Veľkosť cache pre TCP/IP a socket pripojenia.

mysqldump -uroot -p --host=localhost --all-databases --net_buffer_length=1024

--no-autocommit

Použite príkaz autocommit/commit na zabalenie tabuľky.

mysqldump -uroot -p --host=localhost --all-databases --no-autocommit

--no-create-db, -n

Exportujte iba dáta bez pridania príkazu CREATE DATABASE.

mysqldump -uroot -p --host=localhost --all-databases --no-create-db

--no-create-info, -t

Exportujte iba dáta bez pridania príkazu CREATE TABLE.

mysqldump -uroot -p --host=localhost --all-databases --no-create-info

--no-data, -d

Neexportujú sa žiadne dáta, exportuje sa iba štruktúra databázovej tabuľky.

mysqldump -uroot -p --host=localhost --all-databases --no-data

--ne-názvy, -N

Ekvivalent --skip-set-charset

mysqldump -uroot -p --host=localhost --all-databases --no-set-names

--opt

Ekvivalent --pridaj-vypúšťaj-tabuľky, --pridávaj-zámkov, --vytváraj- možností, --rýchle, --rozšírené-vkladanie, --uzamknuteľné tabuľky, --nastaviť- postavy, --vypnúť-kľúče Táto možnosť je predvolene povolená a dá sa deaktivovať pomocou --skip-opt.

mysqldump -uroot -p --host=localhost --all-databases --opt

--poradie-po-primárnym

Ak existuje primárny kľúč alebo prvý unikátny kľúč, zoradite záznamy pre každú tabuľku. Toto funguje pri exporte MyISAM tabuliek do InnoDB tabuliek, ale proces exportu trvá dlho.

mysqldump -uroot -p --host=localhost --all-databases --order-by-primary

--heslo, -p

Pripojte heslo k databáze

--rúra (dostupná pre okná)

Pripojte sa k mysql pomocou pomenovaného pipeline

mysqldump -uroot -p --host=localhost --all-databases --pipe

--ľavo, -P

Pripojte sa na číslo portu databázy

--protokol

Používané protokoly spojenia, vrátane: tcp, socket, pipe, memory.

mysqldump -uroot -p --host=localhost --all-databases --protocol=tcp

--rýchlo, -q

Exportujte priamo do štandardného výstupu bez ukladania dopytov. Predvolené nastavenie je zapnuté, použite --skip-quick na zrušenie tejto možnosti.

mysqldump -uroot -p --host=localhost --all-databases

mysqldump -uroot -p --host=localhost --all-databases --skip-quick

--citáty-mená,-Q

Použite (') na spôsobenie názvov tabuliek a stĺpcov. Predvolené nastavenie je zapnuté, použite --skip-quote-names na zrušenie tejto možnosti.

mysqldump -uroot -p --host=localhost --all-databases

mysqldump -uroot -p --host=localhost --all-databases --skip-quote-names

--nahradiť

Použite REPLACE INTO na nahradenie INSERT INTO.

mysqldump -uroot -p --host=localhost --all-databases --replace

--result-file, -r

Výstup priamo do špecifikovaného súboru. Táto možnosť by sa mala používať na systémoch, ktoré používajú wrapovanie nových riadkov (napr. DOS, Windows). Táto možnosť zabezpečuje, že sa použije iba jeden riadok.

mysqldump -uroot -p --host=localhost --all-databases --result-file=/tmp/mysqldump_result_file.txt

--rutiny, -R

Exportujte uložené procedúry aj vlastné funkcie.

mysqldump -uroot -p --host=localhost --all-databases --routines

--set-charset

Pridajte do výstupného súboru 'SET NAMES default_character_set'. Predvolene na otvorený stav, použite --skip-set-charset na zatvorenie tejto možnosti.

mysqldump -uroot -p --host=localhost --all-databases

mysqldump -uroot -p --host=localhost --all-databases --skip-set-charset

--jednorazová transakcia

Táto možnosť odošle príkaz BEGIN SQL pred exportom dát, ktorý neblokuje žiadnu aplikáciu a zaručuje konzistentný stav databázy v čase exportu. Funguje len s viacverziami úložiskových enginov, iba s InnoDB. Táto možnosť a možnosť --lock-tables sa navzájom vylučujú, pretože LOCK TABLES implicitne zaviaže akúkoľvek čakajúcu transakciu. Ak chcete exportovať veľkú tabuľku, mali by ste použiť možnosť --quick v kombinácii.

mysqldump -uroot -p --host=localhost --all-databases --single-transaction

--dátum odchodu

Pridajte čas exportu do výstupného súboru. Predvolene nastavte otvorený stav, použite možnosť --skip-dump-date na zatvorenie.

mysqldump -uroot -p --host=localhost --all-databases

mysqldump -uroot -p --host=localhost --all-databases --skip-dump-date

--skip-opt

Vypnite možnosť –opt.

mysqldump -uroot -p --host=localhost --all-databases --skip-opt

--zásuvka,-S

Zadajte umiestnenie socket súboru, ktorý sa pripája k mysql, a predvolená cesta je /tmp/mysql.sock

mysqldump -uroot -p --host=localhost --all-databases --socket=/tmp/mysqld.sock

--tab,-T

Vytvorte textový súbor rozdelený tabulátormi pre každú tabuľku v danej ceste. Poznámka: Len pre servery mysqldump a mysqld bežiace na tom istom stroji.

mysqldump -uroot -p --host=localhost test test --tab="/home/mysql"

--tabuľky

Prepíšte parameter --databases (-B) a zadajte názov tabuľky, ktorý sa má exportovať.

mysqldump -uroot -p --host=localhost --databases test --tables test

--spúšťače

Exportné spúšťače. Táto možnosť je predvolene zapnutá, vypnite ju pomocou --skip-triggers.

mysqldump -uroot -p --host=localhost --all-databases --triggers

--tz-utc

Nastavte časové pásmo TIME_ZONE='+00:00' na začiatku exportu, aby ste zabezpečili správnosť údajov TIMESTAMP exportovaných v rôznych časových pásmach alebo pri presune údajov do iného časového pásma.

mysqldump -uroot -p --host=localhost --all-databases --tz-utc

--užívateľ, -u

Zadajte používateľské meno spojenia.

--rozvláčne, --v

Výstup informácií o viacerých platformách.

--verzia, -V

Výstup a výstup informácií o verzii mysqldump

--kde, -w

Dumpujú sa iba záznamy vybrané pre danú podmienku WHERE. Všimnite si, že ak podmienka obsahuje medzeru alebo znak špecifickú pre interpret príkazov, nezabudnite na túto podmienku odkazovať.

mysqldump -uroot -p --host=localhost --all-databases --where=" user='root'"

--xml, -X

Exportujte XML formát.

mysqldump -uroot -p --host=localhost --all-databases --xml

--plugin_dir

Adresár pluginov na strane klienta pre kompatibilitu s rôznymi verziami pluginov.

mysqldump -uroot -p --host=localhost --all-databases --plugin_dir="/usr/local/lib/plugin"

--default_auth

Klientské pluginy používajú povolenia ako predvolené.

mysqldump -uroot -p --host=localhost --all-databases --default-auth="/usr/local/lib/plugin/<PLUGIN>"





Predchádzajúci:Nemôžem získať hodnotu Json v bootstrap tabuľke
Budúci:Konverzia výsledkov dopytov do zdieľania skriptov vo formáte Json
Zverejnené 1. 6. 2019 2:16:47 |
Ďakujem za zdieľanie
 Prenajímateľ| Zverejnené 7. 2. 2021 10:01:20 |
MySQL exportuje výsledky dopytu do súboru
https://www.itsvse.com/thread-9557-1-1.html
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com