Kaip parodyta aukščiau esančioje nuorodoje, visos duomenų bazės turinys yra eksportuojamas, ar jis gali būti eksportuojamas su sąlygomis? Žinoma, galite!
Komanda:
Parametrų analizė:
- -h: Nurodykite duomenų bazės adresą
- --port: Nurodykite duomenų bazės prievadą, jei tai yra numatytasis prievadas 3306, jo galima praleisti
- -u: sąskaitos numeris
- -p: slaptažodis
- db_name: Tai reiškia, kurią duomenų bazę eksportuoti
- tab_name: nurodoma, kurią lentelę eksportuoti
- --where: Duomenų filtro kriterijai
- --no-create-info: eksportuoja tik duomenis nepridedant sakinio CREATE TABLE.
Pabaigoje eikite keliu į vietą, į kurią reikia eksportuoti saugyklą.
Iliustruoti:
-t: Tik vadovo duomenys
--čia: sąlyga
--triggers=false: Nenukreipkite trigerių
--replace: Pakeiskite INSERT INTO į į REPLACE INTO
Parametrai:
--visos-duomenų bazės, -A
Eksportuoti visas duomenų bazes.
mysqldump -uroot -p --all-databases
--all-tablespaces , -Y
Eksportuoti visas lentelių vietas.
mysqldump -uroot -p --all-databases --all-tablespaces
--no-tablespaces , -y
Lentelės vietos informacija neeksportuojama.
mysqldump -uroot -p --all-databases --no-tablespaces
--add-drop-duomenų bazė
Prieš kuriant kiekvieną duomenų bazę, įtraukite išmetimo duomenų bazės sakinį.
mysqldump -uroot -p --all-databases --add-drop-database
--add-drop-table
Prieš kuriant kiekvieną duomenų lentelę, įtraukite išskleidžiamos lentelės sakinį. (Numatytasis yra atidarytas, naudokite --skip-add-drop-table, kad atšauktumėte parinktį)
mysqldump -uroot -p --all-databases (pagal numatytuosius nustatymus pridėkite išmetimo sakinį)
mysqldump -uroot -p --all-databases -skip-add-drop-table (undrop sakinys)
--add-locks
Pridėkite LOCK TABLES prieš kiekvieną lentelės eksportavimą ir UNLOCK TABLE po to. (numatytasis yra įjungtas, naudokite --skip-add-locks atšaukti parinktį)
mysqldump -uroot -p --all-databases (LOCK sakinys pridedamas pagal numatytuosius nustatymus)
mysqldump -uroot -p --all-databases -skip-add-locks (atrakinimo pareiškimas)
--leisti-raktiniai žodžiai
Leidžia kurti stulpelių pavadinimus, kurie yra raktiniai žodžiai. Tai daroma prieš kiekvieno stulpelio pavadinimą nurodant lentelės pavadinimą.
mysqldump -uroot -p --all-databases --allow-keywords
--taikyti-vergų-teiginiai
Pridėkite "STOP SLAVE" prieš "CHANGE MASTER" ir "START SLAVE" eksporto pabaigoje.
mysqldump -uroot -p --all-databases --apply-slave-statements
--simbolių-rinkiniai-dir
Simbolių rinkinio failų katalogas
mysqldump -uroot -p --all-databases --character-sets-dir=/usr/local/mysql/share/mysql/charsets
--komentarai
Papildoma informacija apie pastabas. Jis įjungtas pagal numatytuosius nustatymus ir gali būti atšauktas naudojant --skip-comments
mysqldump -uroot -p --all-databases (numatytieji įrašų komentarai)
mysqldump -uroot -p --all-databases --skip-comments (uncomment)
--suderinamas
Eksportuoti duomenys bus suderinami su kitomis duomenų bazėmis arba senesnėmis MySQL versijomis. Reikšmės gali būti ANSI, MySQL323, MySQL40, PostgreSQL, Oracle, MSSQL, DB2, MaxDB, no_key_options, no_tables_options, no_field_options ir kt.,
Jei norite naudoti kelias reikšmes, išdėstykite jas kableliais. Negarantuojama, kad jis bus visiškai suderinamas, bet kiek įmanoma.
mysqldump -uroot -p --all-databases --compatible=ansi
--kompaktiškas
Eksportuokite mažiau išvesties informacijos (derinimui). Pašalinkite tokias struktūras kaip komentarai ir galvos bei uodegos. Galima parinktis: --skip-add-drop-table --skip-add-locks --skip-comments --skip-disable-keys
mysqldump -uroot -p --all-databases --compact
--užbaigti-įterpti, -c
Naudokite visą įterpimo sakinį (įskaitant stulpelio pavadinimą). Tai gali pagerinti įterpimo efektyvumą, tačiau tam įtakos gali turėti max_allowed_packet parametrai ir sukelti įterpimo klaidas.
mysqldump -uroot -p --all-databases --complete-insert
--suspausti, -C
Įgalinkite glaudinimą, kad visa informacija būtų perduota tarp kliento ir serverio
mysqldump -uroot -p --all-databases --compress
--kurti-parinktis, -a
Įtraukite visas MySQL funkcijos parinktis į sakinį CREATE TABLE. (Numatytoji reikšmė įjungta)
mysqldump -uroot -p --all-databases
--duomenų bazės, -B
Eksportuoti kelias duomenų bazes. Visi pavadinimo parametrai po parametro laikomi duomenų bazių pavadinimais.
mysqldump -uroot -p --databases test mysql
--derinti
Išvesties derinimo informaciją derinimui. Numatytoji reikšmė yra: d:t:o,/tmp/mysqldump.trace
mysqldump -uroot -p --all-databases --debug
mysqldump -uroot -p --all-databases --debug=" d:t:o,/tmp/debug.trace"
--derinimas-patikrinimas
Patikrinkite atmintį ir atidarykite failo instrukcijas ir išeikite.
mysqldump -uroot -p --all-databases --debug-check
--derinimo-informacija
Išvesties derinimo informacija ir išeiti
mysqldump -uroot -p --all-databases --debug-info
--default-character-set
Nustatykite numatytąjį simbolių rinkinį, numatytoji reikšmė yra utf8
mysqldump -uroot -p --all-databases --default-character-set=latin1
--uždelstas-įterpti
INSERT DELAY duomenims eksportuoti
mysqldump -uroot -p --all-databases --delayed-insert
--ištrinti-pagrindinius-žurnalus
Pagrindinė atsarginė kopija ištrina žurnalus. Šis parametras automatiškai suaktyvins --master-data.
mysqldump -uroot -p --all-databases --delete-master-logs
--išjungti-klavišus
Kiekvienai lentelei naudokite /*!40000 KEISTI LENTELĘ tbl_name IŠJUNGTI KLAVIŠUS */; ir /*!40000 KEISTI LENTELĘ tbl_name ĮJUNGTI KLAVIŠUS */; Teiginys nurodo sakinį INSERT. Tai leidžia greičiau importuoti išmestus failus, nes įterpus visas eilutes sukuriamas indeksas. Ši parinktis galima tik MyISAM lentelėse, kurios numatytoji būsena yra atidaryta.
mysqldump -uroot -p --all-databases
--sąvartynas-vergas
Ši parinktis sukels pagrindinę binlog vietą ir failo pavadinimą prie failo, iš kurio pridedami eksportuoti duomenys. Nustačius 1, komanda CHANGE MASTER bus naudojama išvesti į duomenų failą. Kai nustatyta 2, prieš komandą pridėkite aiškinamąją informaciją. Ši parinktis įjungs --lock-all-tables, nebent nurodyta --single-transaction. Ši parinktis automatiškai išjungia parinktį --lock-tables. Numatytoji reikšmė yra 0.
mysqldump -uroot -p --all-databases --dump-slave=1
mysqldump -uroot -p --all-databases --dump-slave=2
--įvykiai, -E
Eksportuokite įvykius.
mysqldump -uroot -p --all-databases --events
--išplėstas-įdėklas, -e
Naudokite sintaksę INSERT su keliais stulpeliais VALUES. Dėl to failų eksportavimas tampa mažesnis ir pagreitinamas importavimas. Numatytoji atidarymo būsena, naudokite parinktį --skip-extended-insert, kad atšauktumėte.
mysqldump -uroot -p --all-databases
mysqldump -uroot -p --all-databases--skip-extended-insert (atšaukti)
--laukai-baigėsi
Nepaisyti nurodytų eksporto failo laukų. Naudojamas su parinktimi --tab, o ne su parinktimis --databases ir --all-databases
mysqldump -uroot -p test --tab="/home/mysql" --fields-terminated-by="#"
--laukai-uždari-by
Atskiri išvesties failo laukai apvyniojami nurodytais simboliais. Naudojamas su parinktimi --tab, o ne su parinktimis --databases ir --all-databases
mysqldump -uroot -p test --tab="/home/mysql" --fields-enclosed-by="#"
--laukai-pasirinktinai-uždari-by
Išvesties failo laukai pasirinktinai apvyniojami nurodytais simboliais. Naudojamas su parinktimi --tab, o ne su parinktimis --databases ir --all-databases
mysqldump -uroot -p test --tab="/home/mysql" --fields-enclosed-by="#" --fields-optionally-enclosed-by ="#"
--laukai-pabėgo-by
Atskiri išvesties failo laukai nepaiso nurodytų simbolių. Naudojamas su parinktimi --tab, o ne su parinktimis --databases ir --all-databases
mysqldump -uroot -p mysql vartotojas --tab="/home/mysql" --fields-escaped-by="#"
--praplovimo rąstai
Prieš pradėdami eksportuoti, atnaujinkite žurnalus.
Atkreipkite dėmesį: jei eksportuosite kelias duomenų bazes vienu metu (naudodami parinktį --databases arba --all-databases), žurnalai bus atnaujinami kiekvienoje duomenų bazėje. Išskyrus naudojant --lock-all-tables arba --master-data. Tokiu atveju žurnalas bus atnaujintas vieną kartą ir atitinkama lentelė bus užrakinta tuo pačiu metu. Todėl, jei ketinate eksportuoti ir išvalyti žurnalus tuo pačiu metu, turėtumėte naudoti --lock-all-tables arba --master-data ir --flush-logs.
mysqldump -uroot -p --all-databases --flush-logs
--flush-privilegijos
Eksportavę mysql duomenų bazę, išleiskite FLUSH PRIVILEGES pareiškimą. Norint tinkamai atkurti, ši parinktis turėtų būti naudojama eksportuojant MySQL duomenų bazę ir priklausomus MySQL duomenų bazės duomenis bet kuriuo metu.
mysqldump -uroot -p --all-databases --flush-privileges
--jėga
Nepaisyti SQL klaidų, atsirandančių eksportuojant.
mysqldump -uroot -p --all-databases --force
--pagalba
Rodyti pagalbos informaciją ir išeiti.
mysqldump --pagalba
--šešiakampis-blob
Eksportuoti dvejetainius eilutės laukus naudojant šešiakampį formatą. Ši parinktis turi būti naudojama, jei yra dvejetainių duomenų. Paveikti laukų tipai yra BINARY, VARBINARY ir BLOB.
mysqldump -uroot -p --all-databases --hex-blob
--šeimininkas, -h
Pagrindinio kompiuterio informacija, kurią reikia eksportuoti
mysqldump -uroot -p --host=localhost --all-databases
--ignoruoti-lentelė
Nurodyta lentelė neeksportuojama. Nurodant, kad nepaisoma kelių lentelių, tai reikia pakartoti kelis kartus, po vieną lentelę. Kiekvienoje lentelėje turi būti nurodyta duomenų bazė ir lentelės pavadinimas. Pavyzdžiui: --ignore-table=database.table1 --ignore-table=database.table2 ......
mysqldump -uroot -p --host=localhost --all-databases --ignore-table=mysql.user
--include-master-host-port
'KEISTI PAGRINDINĮ Į..' sugeneravo --dump-slave <host>Prie išrašo pridėkite "MASTER_HOST=,MASTER_PORT<port>="
mysqldump -uroot -p --host=localhost --all-databases --include-master-host-port
--įterpti-ignoruoti
Įterpdami eilutę naudokite sakinį INSERT IGNORY.
mysqldump -uroot -p --host=localhost --all-databases --insert-ignore
--eilutės-baigėsi-by
Kiekviena išvesties failo eilutė yra padalinta iš nurodytos eilutės. Naudojamas su parinktimi --tab, o ne su parinktimis --databases ir --all-databases.
mysqldump -uroot -p --host=localhost test --tab="/tmp/mysql" --lines-terminated-by="##"
--užrakinti-visus-stalus, -x
Pateikite užklausą užrakinti visas lenteles visose duomenų bazėse, kad būtų užtikrintas duomenų nuoseklumas. Tai yra visuotinis skaitymo užraktas, o parinktys --single-transaction ir --lock-tables automatiškai išjungiamos.
mysqldump -uroot -p --host=localhost --all-databases --lock-all-tables
--spynos stalai, -l
Prieš pradėdami eksportuoti, užrakinkite visas lenteles. Užrakinkite lentelę naudodami READ LOCAL, kad MyISAM lenteles būtų galima įterpti lygiagrečiai. Lentelėms, palaikančioms operacijas, pvz., InnoDB ir BDB,--viena operacija yra geresnis pasirinkimas, nes visai nereikia užrakinti lentelių.
Atkreipkite dėmesį, kad eksportuojant kelias duomenų bazes,-- užrakinimo lentelės užrakina kiekvienos duomenų bazės lenteles atskirai. Todėl ši parinktis negarantuoja loginio eksportuoto failo lentelių duomenų bazių nuoseklumo. Skirtingų duomenų bazių lentelių eksporto būsena gali būti visiškai skirtinga.
mysqldump -uroot -p --host=localhost --all-databases --lock-tables
--log-klaida
Pridėti įspėjimus ir klaidų pranešimus prie nurodyto failo
mysqldump -uroot -p --host=localhost --all-databases --log-error=/tmp/mysqldump_error_log.err
--pagrindiniai-duomenys
Ši parinktis prie išvesties failo prideda binlog vietą ir failo pavadinimą. Jei jis yra 1, bus išvesta komanda CHANGE MASTER; Jei jis yra 2, pridėkite komentarą prieš išvesdami komandą CHANGE MASTER. Ši parinktis įjungs parinktį --lock-all-tables, nebent taip pat nurodyta --single- operacija (šiuo atveju visuotinis skaitymo užraktas gauna trumpą laiką, kai prasideda eksportavimas; Kitą turinį rasite žemiau esančioje parinktyje --one-transaction). Ši parinktis automatiškai išjungiama --lock-tables parinktis.
mysqldump -uroot -p --host=localhost --all-databases --master-data=1;
mysqldump -uroot -p --host=localhost --all-databases --master-data=2;
--max_allowed_packet
Maksimalus serverio siunčiamas ir priimtas paketo ilgis.
mysqldump -uroot -p --host=localhost --all-databases --max_allowed_packet=10240
--net_buffer_length
TCP/IP ir lizdų jungčių talpyklos dydis.
mysqldump -uroot -p --host=localhost --all-databases --net_buffer_length=1024
--no-autocommit
Norėdami apvynioti lentelę, naudokite sakinį autocommit/commit.
mysqldump -uroot -p --host=localhost --all-databases --no-autocommit
--no-create-db, -n
Eksportuokite duomenis tik neįtraukdami sakinio CREATE DATABASE.
mysqldump -uroot -p --host=localhost --all-databases --no-create-db
--no-create-info, -t
Eksportuokite duomenis tik neįtraukdami sakinio CREATE TABLE.
mysqldump -uroot -p --host=localhost --all-databases --no-create-info
--nėra-duomenų, -d
Jokie duomenys neeksportuojami, eksportuojama tik duomenų bazės lentelės struktūra.
mysqldump -uroot -p --host=localhost --all-databases --no-data
--no-set-names, -N
Atitinka --skip-set-charset
mysqldump -uroot -p --host=localhost --all-databases --no-set-names
--opt
Atitinka --add-drop-table, --add-locks, --create- options, --quick, --extended-insert, --lock-tables, --set- charset, --disable-keys Ši parinktis įjungta pagal numatytuosius nustatymus ir gali būti išjungta naudojant --skip-opt.
mysqldump -uroot -p --host=localhost --all-databases --opt
--tvarka-pagal-pirminį
Jei yra pirminis raktas arba pirmasis unikalus raktas, rūšiuokite kiekvienos lentelės įrašus. Tai veikia eksportuojant MyISAM lenteles į InnoDB lenteles, tačiau eksporto procesas užtrunka ilgai.
mysqldump -uroot -p --host=localhost --all-databases --order-by-primary
--slaptažodis, -p
Duomenų bazės slaptažodžio prijungimas
--vamzdis (galima langams)
Prisijunkite prie mysql naudodami pavadintą vamzdyną
mysqldump -uroot -p --host=localhost --all-databases --pipe
--uostas, -P
Prisijungti prie duomenų bazės prievado numerio
--protokolas
Naudojami ryšio protokolai, įskaitant: tcp, lizdas, vamzdis, atmintis.
mysqldump -uroot -p --host=localhost --all-databases --protocol=tcp
--greitas, -q
Eksportuokite tiesiai į standartinę išvestį be buferinių užklausų. Numatytoji reikšmė įjungta, naudokite --skip-quick, kad atšauktumėte šią parinktį.
mysqldump -uroot -p --host=localhost --all-databases
mysqldump -uroot -p --host=localhost --all-databases --skip-quick
--citatos-vardai,-Q
Naudokite (') lentelių ir stulpelių pavadinimams sukelti. Numatytoji reikšmė įjungta, naudokite --skip-quote-names, kad atšauktumėte šią parinktį.
mysqldump -uroot -p --host=localhost --all-databases
mysqldump -uroot -p --host=localhost --all-databases --skip-quote-names
--pakeisti
Naudokite REPLACE IN, kad pakeistumėte INSERT INTO.
mysqldump -uroot -p --host=localhost --all-databases --replace
--rezultato-failas, -r
Išvestis tiesiai į nurodytą failą. Ši parinktis turėtų būti naudojama sistemose, kuriose naudojami naujos eilutės apvyniojimai (pvz., DOS, Windows). Ši parinktis užtikrina, kad būtų naudojama tik viena eilutė.
mysqldump -uroot -p --host=localhost --all-databases --result-file=/tmp/mysqldump_result_file.txt
--rutinos, -R
Eksportuokite saugomas procedūras ir pasirinktines funkcijas.
mysqldump -uroot -p --host=localhost --all-databases --routines
--set-charset
Pridėkite "SET NAMES default_character_set" prie išvesties failo. Numatytoji atidarymo būsena, naudokite --skip-set-charset, kad uždarytumėte parinktį.
mysqldump -uroot -p --host=localhost --all-databases
mysqldump -uroot -p --host=localhost --all-databases --skip-set-charset
--vienkartinė operacija
Ši parinktis prieš eksportuojant duomenis pateikia SQL sakinį BEGIN, kuris neblokuoja jokios programos ir garantuoja nuoseklią duomenų bazės būseną eksportavimo metu. Jis veikia tik su kelių versijų saugojimo varikliais, tik InnoDB. Ši parinktis ir parinktis --lock-tables yra tarpusavyje nesuderinamos, nes LOCK TABLES netiesiogiai įpareigoja bet kokią laukiančią operaciją. Jei norite eksportuoti didelę lentelę, turėtumėte naudoti parinktį --quick kartu.
mysqldump -uroot -p --host=localhost --all-databases --single-transaction
--dump-data
Pridėkite eksportavimo laiką į išvesties failą. Numatytoji atidarymo būsena, naudokite parinktį --skip-dump-date uždaryti.
mysqldump -uroot -p --host=localhost --all-databases
mysqldump -uroot -p --host=localhost --all-databases --skip-dump-date
--praleisti-opt
Išjunkite parinktį –opt.
mysqldump -uroot -p --host=localhost --all-databases --skip-opt
--lizdas,-S
Nurodykite lizdo failo vietą, kuri jungiasi prie mysql, o numatytasis kelias yra /tmp/mysql.sock
mysqldump -uroot -p --host=localhost --all-databases --socket=/tmp/mysqld.sock
--tab,-T
Sukurkite kiekvienos lentelės tam tikrame kelyje teksto failą. Pastaba: Tik mysqldump ir mysqld serveriams, veikiantiems tame pačiame kompiuteryje.
mysqldump -uroot -p --host=localhost test --tab="/home/mysql"
--stalai
Perrašykite parametrą --databases (-B), kad nurodytumėte eksportuojamos lentelės pavadinimą.
mysqldump -uroot -p --host=localhost --databases test --tables test
--trigeriai
Eksporto paleidikliai. Ši parinktis įjungta pagal numatytuosius nustatymus, išjunkite ją naudodami --skip-triggers.
mysqldump -uroot -p --host=localhost --all-databases --triggers
--tz-utc
Eksporto viršuje nustatykite laiko juostą TIME_ZONE='+00:00', kad užtikrintumėte skirtingose laiko juostose eksportuotų TIMESTAMP duomenų teisingumą arba kai duomenys perkeliami į kitą laiko juostą.
mysqldump -uroot -p --host=localhost --all-databases --tz-utc
--vartotojas, -u
Nurodykite ryšio vartotojo vardą.
--verbose, --v
Išvesti kelių platformų informaciją.
--versija, -V
Išveskite mysqldump versijos informaciją ir išeikite
--kur, -w
Iškeliami tik įrašai, pasirinkti nurodytai sąlygai WHERE. Atkreipkite dėmesį, kad jei sąlygoje yra komandų interpretatoriaus tarpas arba simbolis, būtinai nurodykite sąlygą.
mysqldump -uroot -p --host=localhost --all-databases --where=" user='root'"
--xml, -X
Eksportuoti XML formatą.
mysqldump -uroot -p --host=localhost --all-databases --xml
--plugin_dir
Kliento pusės įskiepių katalogas, suderinamas su skirtingomis įskiepių versijomis.
mysqldump -uroot -p --host=localhost --all-databases --plugin_dir="/usr/local/lib/plugin"
--default_auth
Kliento papildiniai naudoja leidimus pagal numatytuosius nustatymus.
mysqldump -uroot -p --host=localhost --all-databases --default-auth="/usr/local/lib/plugin/<PLUGIN>"
|