Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 18434|Odgovoriti: 2

[Vir] MySQL uporablja mysqldump za izvoz podatkov s pogoji

[Kopiraj povezavo]
Objavljeno na 26. 04. 2019 16:07:23 | | | |

Varnostno kopiranje in izvoz baze podatkov MySQL
https://www.itsvse.com/thread-4004-1-1.html
(Vir: Architect_Programmer)
Mysqldump uvaža in izvozi povzetke podatkovnih baz
https://www.itsvse.com/thread-4353-1-1.html
(Vir: Architect_Programmer)
mysqldump izvozi bazo podatkov "Access Onedyd"
https://www.itsvse.com/thread-4005-1-1.html
(Vir: Architect_Programmer)

Kot je prikazano na zgornji povezavi, se vsebina celotne baze podatkov izvozi, ali jo je mogoče izvoziti z določenimi pogoji? Seveda lahko!


Ukaz:

Analiza parametrov:

  • -h: Določite naslov baze podatkov
  • --port: Določite podatkovni port, če je privzeti port 3306, ga lahko izpustite
  • -u: številka računa
  • -p: geslo
  • db_name: To se nanaša na to, katero bazo podatkov izvoziti
  • tab_name: To se nanaša na to, katero tabelo izvoziti
  • --kjer: kriteriji za filtriranje podatkov
  • --no-create-info: izvaža le podatke brez dodajanja stavka CREATE TABLE.


Na koncu sledi poti do lokacije, kjer moraš izvoziti shrambo.

Ponazoritev:

-t: Samo vodilni podatki

--kjer: stanje

--triggers=false: Ne vodite sprožilcev

--zamenjaj: Zamenjaj INSERT INTO z REPLACE INTO



Parametri:

--vse-baze podatkov, -A

Izvozite vse baze podatkov.

mysqldump -uroot -p --all-databases

--vse-mizni prostori , -Y

Izvozi vse tabele.

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

--brez mizičnih prostorov , -y

Informacije iz namiznega prostora se ne izvozijo.

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

--dodaj-spusti-bazo podatkov

Dodajte ukaz za drop database, preden je vsaka baza ustvarjena.

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

--add-drop-table

Dodajte stavek drop table pred ustvarjanjem vsake podatkovne tabele. (Privzeto je odprto, uporabi --preskoči-dodaj-spusti-tabelo za preklic)

mysqldump -uroot -p --all-databases (add drop stavek privzeto)

mysqldump -uroot -p --all-databases –skip-add-drop-table (undrop stavek)

--add-locks

Pred vsakim izvozom tabele dodajte LOCK TABLES in nato UNLOCK TABLE. (privzeto je vklopljeno, uporabi --preskoči-dodaj-zaklepanje za preklic možnosti)

mysqldump -uroot -p --all-databases (ukaz LOCK je privzeto dodan)

mysqldump -uroot -p --all-databases –skip-add-locks (unlock stavek)

--dovoljeno-ključne besede

Omogoča ustvarjanje imen stolpcev, ki so ključne besede. To se izvede tako, da se ime tabele predpona vsakemu imenu stolpca.

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

--apply-slave-stavki

Dodajte 'STOP SLAVE' pred 'CHANGE MASTER' in 'START SLAVE' na koncu izvoza.

mysqldump -uroot -p --all-databases --apply-slave-statements

--nabori znakov-dir

Imenik datotek znakovnega nabora

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

--komentarji

Dodatne informacije. Privzeto je vklopljen in ga je mogoče preklicati z --skip-comments

mysqldump -uroot -p --all-databases (privzeti komentarji zapisov)

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

--združljiv

Izvoženi podatki bodo združljivi z drugimi bazami podatkov ali starejšimi različicami MySQL. Vrednosti so lahko ANSI, MySQL323, MySQL40, PostgreSQL, Oracle, MSSQL, DB2, MaxDB, no_key_options, no_tables_options, no_field_options itd.

Če želite uporabiti več vrednosti, jih razmikajte z vejicami. Ni zagotovljeno, da bo popolnoma združljiv, a kolikor je mogoče.

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

--kompaktno

Izvozi manj izhodnih podatkov (za razhroščevanje). Odstranite strukture, kot so opombe ter glave in cifra. Na voljo je možnost: --preskoči-dodaj-spusti-tabelo --preskoči-dodaj-zaklepe --preskoči-komentarje --preskoči-onemogoči ključe

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

--popolno-vstavljaj, -c

Uporabite celoten insert stavek (vključno z imenom stolpca). To lahko izboljša učinkovitost vstavljanja, vendar je lahko prizadeto zaradi max_allowed_packet parametrov in povzroči neuspehe vstavljanja.

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

--stisni, -C

Omogočite kompresijo za prenos vseh informacij med odjemalcem in strežnikom

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

--create-options, -a

Vse možnosti funkcij MySQL vključite v ukaz CREATE TABLE. (Privzeto je vklopljeno)

mysqldump -uroot -p --all-databases

--baze podatkov, -B

Izvozite več baz podatkov. Vsi parametri imen po parametru se obravnavajo kot imena baz podatkov.

mysqldump -uroot -p --databases test mysql

--debug

Izpisujte informacije o odpravljanju napak za razhroščevanje. Privzeta vrednost 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

Preveri pomnilnik in odpri navodila za odpiranje datoteke ter izhod.

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

--debug-info

Izhod informacij o razhroščevanju in izhod

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

--privzeti-nabor znakov

Nastavite privzeti nabor znakov, privzeta vrednost je utf8

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

--zakasnjena vstavitev

INSERT DELAYED za izvoz podatkov

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

--delete-master-logs

Glavna varnostna kopija briše dnevnike. Ta parameter bo samodejno aktiviral --master-data.

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

--disable-keys

Za vsako tabelo uporabite /*!40000 ALTER TABLE tbl_name DISABLE KEYS */; in /*!40000 ALTER TABLE tbl_name OMOGOČITVENE KLJUČE */; Izjava se nanaša na izjavo INSERT. To omogoča hitrejši uvoz izpisanih datotek, saj po vstavljanju vseh vrstic ustvari indeks. Ta možnost je na voljo le za MyISAM tabele, ki privzeto nastavijo odprto stanje.

mysqldump -uroot -p --all-databases

--dump-slave

Ta možnost bo povzročila, da se glavna lokacija binloga in ime datoteke dodata datoteki, iz katere so izvoženi podatki. Ko je nastavljen na 1, se za izhod v podatkovno datoteko uporabi ukaz CHANGE MASTER. Ko je nastavljeno na 2, dodajte pojasnjevalne informacije pred ukazom. Ta možnost bo vklopila --zakleni vse tabele, razen če ni določena --enojna transakcija. Ta možnost samodejno izklopi možnost --lock-tables. Privzeta vrednost je 0.

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

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

--dogodkov, -E

Izvoz dogodkov.

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

--podaljšano-vstavljanje, -e

Uporabite sintakso INSERT z več stolpci VALUES. To poenostavi izvoz datotek in pospeši uvoz. Privzeto v odprto stanje uporabite možnost --skip-extended-insert za preklic.

mysqldump -uroot -p --all-databases

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

--polja-terminirana-z

Ignorirajte podata polja v izvozni datoteki. Uporablja se z možnostjo --zavihek, ne pa za možnosti --baze podatkov in --vse baze podatkov

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

--polja-obdana

Posamezna polja v izhodni datoteki so ovita z danimi znaki. Uporablja se z možnostjo --zavihek, ne pa za možnosti --baze podatkov in --vse baze podatkov

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

--polja-opcijsko-zaprto-z

Polja v izhodni datoteki se selektivno ovijejo z danimi znaki. Uporablja se z možnostjo --zavihek, ne pa za možnosti --baze podatkov in --vse baze podatkov

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

--polja-pobegni-stran

Posamezna polja v izhodni datoteki ignorirajo dane znake. Uporablja se z možnostjo --zavihek, ne pa za možnosti --baze podatkov in --vse baze podatkov

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

--flush-log

Pred začetkom izvoza osvežite dnevnike.

Prosimo, upoštevajte: če izvažate več baz podatkov hkrati (z uporabo možnosti --databases ali --all-databases), se bodo dnevniki osveževali za vsako bazo podatkov. Razen z uporabo --lock-all-tables ali --master-data. V tem primeru se dnevnik osveži enkrat, ustrezna tabela pa se hkrati zaklene. Zato, če nameravate istočasno izvoziti in izpočiti dnevnike, uporabite --lock-all-tables ali --master-data in --flush-logs.

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

--privilegije flusha

Po izvozu baze mysql izdajte ukaz FLUSH PRIVILEGES. Za pravilno obnovitev je treba to možnost uporabiti za izvoz MySQL baze podatkov in odvisnih MySQL podatkovnih podatkov kadarkoli.

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

--sila

Ignorirajte SQL napake, ki se pojavijo med izvozom.

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

--pomoč

Prikaži informacije o pomoči in izhod.

mysqldump --pomoč

--hex-blob

Izvozite binarna polja nizov z uporabo heksadecimalnega formata. To možnost je treba uporabiti, če so na voljo binarni podatki. Prizadeti tipi polj so BINARY, VARBINARY in BLOB.

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

--voditelj, -h

Informacije o gostitelju, ki jih je treba izvoziti

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

--ignore-table

Določena tabela ni izvožena. Ko določamo, da se več tabel ignorira, je treba to ponoviti večkrat, eno tabelo naenkrat. Vsaka tabela mora navesti tako podatkovno bazo kot ime tabele. Na primer: --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 V..' ustvarjeno s strani --dump-slave Dodajte 'MASTER_HOST<host>=,MASTER_PORT<port>=' v izjavo  

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

--vstavi-ignoriraj

Pri vstavljanju vrstice uporabite ukaz INSERT IGNORE.

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

--linije-zaključene z

Vsaka vrstica izhodne datoteke je razdeljena z določenim nizom. Uporablja se z možnostjo --zavihek, ne pa za --baze podatkov in --vse-baze podatkov.

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

--zakleni-vse-mize, -x

Pošljite zahtevo za zaklepanje vseh tabel v vseh podatkovnih bazah, da zagotovite skladnost podatkov. To je globalno zaklepanje branja, možnosti --enkratna transakcija in --zaklepne tabele pa sta samodejno izklopljeni.

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

--zaklenjene mize, -l

Zakleni vse mize pred začetkom izvoza. Zaklenite tabelo z READ LOCAL, da omogočite vstavljanje MyISAM tabel vzporedno. Za tabele, ki podpirajo transakcije, kot sta InnoDB in BDB,--ena transakcija je boljša možnost, ker sploh ne zahteva zaklepanja tabel.

Upoštevajte,-- da pri izvozu več baz podatkov zaklepanje tabel za vsako bazo ločeno zaklene tabele. Zato ta možnost ne zagotavlja logične skladnosti med podatkovnimi bazami za tabele v izvoženi datoteki. Status izvoza različnih tabel baze podatkov je lahko popolnoma različen.

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

--log-napaka

Na določeno datoteko pripnite opozorila in sporočila o napakah

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

--master-data

Ta možnost doda lokacijo in ime datoteke binloga izhodni datoteki. Če je 1, se izpiše ukaz CHANGE MASTER; Če je 2, dodajte komentar pred izhodnim ukazom CHANGE MASTER. Možnost bo vklopila možnost --zakleni vse-tabele, razen če je določena tudi --enkratna- transakcija (v tem primeru globalna zaklep za branje dobi kratek čas, ko se izvoz začne; Za drugo vsebino si oglejte možnost --enkratna transakcija spodaj). Ta možnost je samodejno izklopljena --možnost zaklepanja tabel.

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

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

--max_allowed_packet

Največja dolžina paketa, ki ga strežnik pošlje in sprejme.

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

--net_buffer_length

Velikost predpomnilnika za TCP/IP in socket povezave.

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

--no-autocommit

Uporabite stavek autocommit/commit za ovijanje tabele.

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

--no-create-db, -n

Izvozite le podatke brez dodajanja ukaza CREATE DATABASE.

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

--no-create-info, -t

Izvozite le podatke brez dodajanja ukaza CREATE TABLE.

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

--no-data, -d

Podatki se ne izvozijo, izvozi se le struktura tabele baze podatkov.

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

--brez določenih imen, -N

Ekvivalent --skip-set-charset

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

--opt

Ekvivalent --dodaj-spusti-tabelo, --dodaj-zaklepov, --ustvari-možnosti, --hitro, --razširjeno-vstavi, --zaklenitve-tabele, --nastavi- likov, --one-one-keys Ta možnost je privzeto omogočena in jo je mogoče onemogočiti z --skip-opt.

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

--red-po-primarni

Če obstaja primarni ključ ali prvi edinstven ključ, razvrstite zapise za vsako tabelo. To deluje pri izvozu MyISAM tabel v InnoDB tabele, vendar postopek izvoza traja dolgo.

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

--geslo, -p

Povežite geslo za bazo podatkov

--cev (na voljo za okna)

Povežite se z mysql z uporabo poimenovanega cevovoda

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

--levo, -P

Povežite se s številko priključka baze podatkov

--protokol

Uporabljeni protokoli povezave, vključno z: tcp, socket, pipe, pomnilnik.

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

--hitro, -q

Izvozite neposredno na standardni izhod brez predpomnilnika poizvedb. Privzeto je vklopljeno, uporabi --skip-quick za preklic te možnosti.

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

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

--citati-imena,-Q

Uporabite (') za povzročanje imen tabel in stolpcev. Privzeto je vklopljeno, uporabite --skip-quote-names za preklic te možnosti.

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

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

--zamenjaj

Uporabi REPLACE INTO za zamenjavo INSERT INTO.

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

--datoteka rezultatov, -r

Izhod neposredno v določeno datoteko. To možnost je treba uporabljati na sistemih, ki uporabljajo ovijanje novih vrstic (npr. DOS, Windows). Ta možnost zagotavlja, da se uporablja le ena vrstica.

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

--rutine, -R

Izvozite shranjene postopke in prilagojene funkcije.

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

--set-charset

Dodajte 'SET NAMES default_character_set' v izhodno datoteko. Privzeto v odprtem stanju uporabi --skip-set-charset za zapiranje možnosti.

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

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

--enkratna transakcija

Ta možnost pred izvozom podatkov pošlje BEGIN SQL stavek, ki ne blokira nobene aplikacije in zagotavlja dosledno stanje baze podatkov ob izvozu. Deluje samo z večverzijskimi pogoni za shranjevanje, samo z InnoDB. Ta možnost in možnost --lock-tables sta medsebojno izključujoči, saj LOCK TABLES implicitno potrdi vsako čakajočo transakcijo. Če želite izvoziti veliko tabelo, uporabite možnost --quick v kombinaciji.

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

--datum odlaganja

Dodaj čas izvoza v izhodno datoteko. Privzeto na odprto stanje, uporabi možnost --skip-dump-date za zaprtje.

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

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

--skip-opt

Onemogoči možnost –opt.

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

--vtičnica,-S

Določite lokacijo socket datoteke, ki se povezuje z mysql, privzeta pot pa je /tmp/mysql.sock

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

--tab,-T

Za vsako tabelo v določeni poti ustvarite besedilno datoteko, razdeljeno na tabulature. Opomba: Samo za strežnike mysqldump in mysqld, ki tečeta na istem računalniku.

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

--mize

Preglasite parameter --databases (-B) in določite ime tabele, ki jo želimo izvoziti.

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

--sprožilci

Sprožilci izvoza. Ta možnost je privzeto omogočena, onemogočite jo z --skip-triggers.

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

--tz-utc

Nastavite časovni pas TIME_ZONE='+00:00' na vrhu izvoza, da zagotovite pravilnost podatkov TIMESTAMP, izvoženih v različnih časovnih pasovih ali ob premiku podatkov v drug časovni pas.

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

--uporabnik, -u

Določite uporabniško ime povezave.

--besedno, --v

Izhod informacij o več platformah.

--version, -V

Izhod informacij o različici mysqldump in izhod

--kje, -w

Izločijo se le zapisi, izbrani za dano stanje WHERE. Upoštevajte, da če pogoj vsebuje razmik ali znak, specifičen za interpretatorja ukazov, se prepričajte, da ga navedete.

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

--xml, -X

Izvoz XML formata.

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

--plugin_dir

Imenik vtičnikov na strani odjemalca za združljivost z različnimi različicami vtičnikov.

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

--default_auth

Odjemalski vtičniki privzeto uporabljajo dovoljenja.

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





Prejšnji:Ne morem dobiti vrednosti Json v bootstrap tabeli
Naslednji:Pretvorba rezultatov poizvedb v Json format script sharing
Objavljeno na 1. 06. 2019 02:16:47 |
Hvala, ker si delil
 Najemodajalec| Objavljeno na 7. 02. 2021 10:01:20 |
MySQL izvozi rezultate poizvedb v datoteko
https://www.itsvse.com/thread-9557-1-1.html
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com