Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 18434|Odpověď: 2

[Zdroj] MySQL používá mysqldump k exportu dat s podmínkami

[Kopírovat odkaz]
Zveřejněno 26.04.2019 16:07:23 | | | |

Záloha a export databáze MySQL
https://www.itsvse.com/thread-4004-1-1.html
(Zdroj: Architect_Programmer)
Mysqldump importuje a exportuje souhrny databází
https://www.itsvse.com/thread-4353-1-1.html
(Zdroj: Architect_Programmer)
Mysqldump exportuje databázi "Access denied"
https://www.itsvse.com/thread-4005-1-1.html
(Zdroj: Architect_Programmer)

Jak je vidět na odkazu výše, obsah celé databáze je exportován, lze ho exportovat s podmínkami? Samozřejmě, že můžeš!


Příkaz:

Analýza parametrů:

  • -h: Zadejte adresu databáze
  • --port: Specifikujte databázový port, pokud je to výchozí port 3306, lze jej vynechat
  • -u: číslo účtu
  • -p: heslo
  • db_name: To se týká, kterou databázi exportovat
  • tab_name: To se týká, kterou tabulku exportovat
  • --kde: Kritéria pro filtr dat
  • --no-create-info: exportuje pouze data bez přidání příkazu CREATE TABLE.


Na konci následujte cestu na místo, kde potřebujete exportovat úložiště.

Ilustrovat:

-t: Pouze vodítka

--kde: podmínka

--triggers=nepravda: Nevést triggery

--replace: Nahraďte INSERT INTO za REPLACE INTO



Parametry:

--vše-databáze, -A

Exportujte všechny databáze.

mysqldump -uroot -p --all-databases

--všechna stolová pole , -Y

Exportujte všechny tabulkové prostory.

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

--no-tablespaces , -y

Informace z tabulek nejsou exportovány.

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

--add-drop-database

Přidejte příkaz drop database před vytvořením každé databáze.

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

--add-drop-table

Přidejte příkaz drop table před vytvořením každé datové tabulky. (Výchozí je otevřené, použijte --přeskočit-přidat-pustit-tabulku pro zrušení možnosti)

mysqldump -uroot -p --all-databases (příkaz add drop ve výchozím nastavení)

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

--add-locks

Před každým exportem tabulky přidejte LOCK TABLES a poté UNLOCK TABLE. (výchozí nastavení je zapnuto, použijte --přeskočit-přidat-zámky pro zrušení možnosti)

mysqldump -uroot -p --all-databases (příkaz LOCK je přidán ve výchozím nastavení)

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

--povolit-klíčová slova

Umožňuje vytváření názvů sloupců, které jsou klíčová slova. To se provádí předponou názvu tabulky ke každému názvu sloupce.

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

--apply-slave-příkazy

Přidejte 'STOP SLAVE' před 'CHANGE MASTER' a 'START SLAVE' na konec exportu.

Mysqldump -uroot -p --all-databases --apply-slave-příkazy

--znakové sady-dir

Adresář souborů znakových sad

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

--komentáře

Další poznámka. Je zapnutý ve výchozím nastavení a lze jej zrušit pomocí --skip-comments

mysqldump -uroot -p --all-databases (výchozí komentáře záznamu)

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

--kompatibilní

Exportovaná data budou kompatibilní s jinými databázemi nebo staršími verzemi MySQL. Hodnoty mohou být ANSI, MySQL323, MySQL40, PostgreSQL, Oracle, MSSQL, DB2, MaxDB, no_key_options, no_tables_options, no_field_options atd.

Pro použití několika hodnot je od sebe udělejte čárky. Není zaručeno, že bude plně kompatibilní, ale pokud je to možné.

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

--kompaktní

Exportovat méně výstupních informací (pro ladění). Odstraňte struktury jako anotace a hlavy a ohyby. Možnost je dostupná: --přeskočit-přidat-přerušit-tabulku --přeskočit-přidat-zamknout --přeskočit-komentáře --přeskočit-vypnout-klíče

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

--úplné-vložit, -c

Použijte celý příkaz insert (včetně názvu sloupce). To může zlepšit účinnost zavádění, ale může být ovlivněno max_allowed_packet parametry a způsobit selhání zavádění.

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

--komprimovat, -C

Povolte kompresi pro předávání všech informací mezi klientem a serverem

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

--create-options, -a

Zahrňte všechny možnosti funkcí MySQL do příkazu CREATE TABLE. (Výchozí nastavení je zapnuto)

mysqldump -uroot -p --all-databases

--databáze, -B

Exportujte několik databází. Všechny parametry názvů po parametru jsou považovány za názvy databází.

Mysqldump -uroot -p --databases test mysql

--debug

Výstup informací o ladění pro ladění. Výchozí 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

Zkontrolujte paměť, otevřete instrukce a ukončete hru.

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

--debug-info

Výstup a výstup z ladění

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

--výchozí-znaková sada

Nastavte výchozí znakovou sadu, výchozí hodnota je utf8

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

--delayed-insert

INSERT DELAYED to export dat

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

--delete-master-logs

Master záloha maže logy. Tento parametr se automaticky aktivuje --master-data.

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

--disaktiv-keys

Pro každou tabulku použijte /*!40000 ALTER TABLE tbl_name DISABLE KEYS */; a /*!40000 ALTER TABULKA tbl_name POVOLOVACÍ KLÍČE */; Prohlášení odkazuje na příkaz INSERT. To umožňuje rychlejší import dumpovaných souborů, protože po vložení všech řádků vytvoří index. Tato možnost je dostupná pouze pro tabulky MyISAM, které ve výchozím nastavení nastavují otevřený stav.

mysqldump -uroot -p --all-databases

--dump-slave

Tato možnost způsobí, že hlavní binlog bude připojen k souboru, ze kterého jsou exportovaná data připojena. Při nastavení na 1 se příkaz CHANGE MASTER použije k výstupu do datového souboru. Když je nastaveno na 2, přidejte vysvětlující informace před příkazem. Tato možnost zapne --zamknout všechny tabulky, pokud není specifikována --single-transaction. Tato možnost automaticky vypne možnost --lock-tables. Výchozí hodnota je 0.

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

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

--události, -E

Exportní akce.

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

--rozšířené-insert, -e

Použijte syntaxi INSERT s více sloupci VALUES. To zmenší export souborů a urychlí import. Výchozí nastavení na otevřený stav, použijte --skip-extended-insert pro zrušení možnosti.

mysqldump -uroot -p --all-databases

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

--pole-ukončené-

Ignorujte zadaná pole v exportním souboru. Používá se s možností --tab, ne pro --databáze a --all-databases

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

--pole-enclosed-by

Jednotlivá pole ve výstupním souboru jsou obalena zadanými znaky. Používá se s možností --tab, ne pro --databáze a --all-databases

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

--pole-volitelně-uzavřeným

Pole ve výstupním souboru jsou selektivně obalována zadanými znaky. Používá se s možností --tab, ne pro --databáze a --all-databases

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

--pole-unikl-pryč

Jednotlivá pole ve výstupním souboru ignorují dané znaky. Používá se s možností --tab, ne pro --databáze a --all-databases

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

--flush-logs

Obnovte logy před začátkem exportu.

Upozornění: pokud exportujete více databází najednou (pomocí možností --databases nebo --all-databases), logy se budou aktualizovat podle jednotlivých databází. Kromě použití --lock-all-tables nebo --master-data. V tomto případě se log jednou obnoví a současně se uzamkne odpovídající tabulka. Pokud tedy chcete logy exportovat a vymazat současně, měli byste použít --lock-all-tables nebo --master-data a --flush-logs.

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

--flush-privileges

Po exportu databáze mysql vydat příkaz FLUSH PRIVILEGES. Pro správné obnovení by tato možnost měla být použita pro export databáze MySQL a závislých dat databáze MySQL kdykoli.

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

--síla

Ignorujte SQL chyby, které se objevují při exportu.

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

--Pomoc

Zobrazit nápovědu a ukončit to.

mysqldump --pomoc

--hex-blob

Exportujte binární pole řetězců pomocí hexadecimálního formátu. Tuto možnost je nutné použít, pokud jsou k dispozici binární data. Postižené typy polí jsou BINARY, VARBINARY a BLOB.

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

--moderátor, -h

Informace o hostiteli, které je třeba exportovat

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

--ignore-table

Specifikovaná tabulka není exportována. Při specifikaci, že je více tabulek ignorováno, je třeba to opakovat několikrát, po jedné tabulce. Každá tabulka musí specifikovat jak databázi, tak název tabulky. Napří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..' generováno --dump-slave Přidejte do tvrzení 'MASTER_HOST<host>=,MASTER_PORT<port>='  

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

--insert-ignore

Při vkládání řádku použijte příkaz INSERT IGNORE.

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

--linky-ukončené-

Každý řádek výstupního souboru je rozdělen daným řetězcem. Používá se s možností --tab, ne pro --databáze a --all-databases.

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

--zamknout-vše-stoly, -x

Pošlete žádost o uzamčení všech tabulek ve všech databázích, abyste zajistili konzistenci dat. Jedná se o globální zámek čtení a možnosti --single-transaction a --lock-tables jsou automaticky vypnuté.

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

--zámkové stoly, -l

Zamkni všechny stoly před začátkem exportu. Uzamkněte tabulku pomocí READ LOCAL, aby se tabulky MyISAM mohly vkládat paralelně. Pro tabulky, které podporují transakce, jako jsou InnoDB a BDB,--single-transaction, je lepší volba, protože vůbec nevyžaduje zamykat tabulky.

Všimněte si,-- že při exportu více databází lock-tables uzamkne tabulky pro každou databázi zvlášť. Tato možnost tedy nezaručuje logickou konzistenci mezi databázemi pro tabulky v exportovaném souboru. Stav exportu různých databázových tabulek může být zcela odlišný.

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

--log-error

Připojte varování a chybové zprávy k danému souboru

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

--master-data

Tato možnost přidává umístění a název souboru binlogu k výstupnímu souboru. Pokud je to 1, bude vydán příkaz CHANGE MASTER; Pokud je to 2, přidejte komentář před výstup příkazu CHANGE MASTER. Volba zapne možnost --lock-all-tables, pokud není také specifikována --single- transakce (v tomto případě má globální čtení krátký čas při zahájení exportu; Pro další obsah prosím viz níže uvedená možnost --single-transaction). Tato možnost je automaticky vypnuta – možnost 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ální délka paketu odeslaného a přijatého serverem.

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

--net_buffer_length

Velikost cache pro TCP/IP a socket připojení.

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

--no-autocommit

Použijte příkaz autocommit/commit k obalení tabulky.

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

--no-create-db, -n

Exportujte pouze data bez přidání příkazu CREATE DATABASE.

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

--no-create-info, -t

Exportujte pouze data bez přidání příkazu CREATE TABLE.

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

--no-data, -d

Žádná data se neexportují, pouze struktura databázové tabulky.

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

--žádná-názvů, -N

Ekvivalent --skip-set-charset

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

--opt

Ekvivalent --přidat-vypustit-tabulky, --přidat-zámků, --vytvořit- možností, --rychlé, --rozšířené-vložení, --lock-tables, --nastavit- postavy, --vypnout-klíče Tato možnost je ve výchozím nastavení povolena a lze ji deaktivovat pomocí --přeskočit-opt.

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

--pořadí podle primární

Pokud existuje primární klíč nebo první unikátní klíč, seřaďte záznamy pro každou tabulku. To funguje při exportu tabulek MyISAM do tabulek InnoDB, ale proces exportu trvá dlouho.

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

--password, -p

Připojte heslo k databázi

--pipe (dostupné pro okna)

Připojte se k mysql pomocí pojmenovaného pipeline

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

--levobok, -P

Připojte se k portu databáze

--protokol

Používané protokoly připojení, včetně: tcp, socket, pipe, memory.

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

--rychle, -q

Exportujte přímo do standardního výstupu bez ukládání dotazů do bufferu. Výchozí nastavení je zapnuté, použijte --skip-quick pro zrušení této možnosti.

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

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

--citace,-Q

Použijte (') k způsobení názvů tabulek a sloupců. Výchozí nastavení je zapnuté, použijte --skip-quote-names k zrušení této možnosti.

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

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

--nahradit

Použijte REPLACE INTO pro nahrazení INSERT INTO.

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

--result-file, -r

Výstup přímo do určeného souboru. Tato možnost by měla být použita na systémech, které používají newline wrapy (např. DOS, Windows). Tato možnost zajišťuje, že se použije pouze jedna linka.

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

--rutiny, -R

Exportovat uložené procedury i vlastní funkce.

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

--set-charset

Přidejte do výstupního souboru 'SET NAMES default_character_set'. Výchozí nastavení na otevřený stav použijte --skip-set-charset pro uzavření této možnosti.

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

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

--jedno-transakce

Tato možnost odešle příkaz BEGIN SQL před exportem dat, který neblokuje žádnou aplikaci a zaručuje konzistentní stav databáze v době exportu. Funguje to jen s multiverzními úložnými enginy, pouze s InnoDB. Tato možnost a možnost --lock-tables se vzájemně vylučují, protože LOCK TABLES implicitně potvrdí jakoukoli čekající transakci. Pokud chcete exportovat velkou tabulku, měli byste použít kombinaci --rychlého výběru.

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

--datum vykládky

Přidejte čas exportu do výstupního souboru. Výchozí nastavení na otevřený stav, použijte možnost --skip-dump-date pro zavření.

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

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

--skip-opt

Vypněte možnost –opt.

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

--socket,-S

Určete umístění socketu, který se připojuje k mysql, a výchozí cesta je /tmp/mysql.sock

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

--tabulace,-T

Vytvořte textový soubor rozdělený tabulátory pro každou tabulku v dané cestě. Poznámka: Pouze pro servery mysqldump a mysqld běžící na stejném stroji.

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

--tabulky

Přepiš parametr --databases (-B) a určit název tabulky, která má být exportována.

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

--spouštěče

Exportní spouštěče. Tato možnost je ve výchozím nastavení zapnutá, vypněte ji pomocí --skip-triggers.

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

--tz-utc

Nastavte časové pásmo TIME_ZONE='+00:00' na začátku exportu, abyste zajistili správnost dat TIMESTAMP exportovaných v různých časových pásmech nebo při přesunu dat do jiného časového pásma.

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

--uživatel, -u

Zadejte uživatelské jméno spojení.

--verbose, --v

Výstup informací o více platformách.

--version, -V

Výstup a výstup informace o verzi mysqldump a ukončení

--kde, -w

Dumpují se pouze záznamy vybrané pro danou podmínku WHERE. Všimněte si, že pokud podmínka obsahuje mezeru nebo znak specifickou pro interpret příkazů, nezapomeňte na podmínku odkazovat.

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

--xml, -X

Exportovat XML formát.

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

--plugin_dir

Adresář pluginů na straně klienta pro kompatibilitu s různými verzemi pluginů.

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

--default_auth

Klientské pluginy používají oprávnění ve výchozím nastavení.

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





Předchozí:Nemohu získat hodnotu Json v bootstrap tabulce
Další:Převést výsledky dotazů do sdílení skriptů ve formátu Json
Zveřejněno 01.06.2019 2:16:47 |
Díky za sdílení
 Pronajímatel| Zveřejněno 07.02.2021 10:01:20 |
MySQL exportuje výsledky dotazu do souboru
https://www.itsvse.com/thread-9557-1-1.html
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com