Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 18434|Atbildi: 2

[Avots] MySQL izmanto mysqldump, lai eksportētu datus ar nosacījumiem

[Kopēt saiti]
Publicēts 26.04.2019 16:07:23 | | | |

MySQL datu bāzes dublēšana un eksportēšana
https://www.itsvse.com/thread-4004-1-1.html
(Avots: Architect_Programmer)
mysqldump importa un eksporta datu bāzes kopsavilkumi
https://www.itsvse.com/thread-4353-1-1.html
(Avots: Architect_Programmer)
mysqldump eksportē datu bāzi "piekļuve liegta"
https://www.itsvse.com/thread-4005-1-1.html
(Avots: Architect_Programmer)

Kā parādīts iepriekš esošajā saitē, visas datu bāzes saturs tiek eksportēts, vai to var eksportēt ar nosacījumiem? Protams, jūs varat!


Pavēlēt:

Parametru analīze:

  • -h: Norādiet datu bāzes adresi
  • --port: Norādiet datu bāzes portu, ja tas ir noklusējuma ports 3306, to var izlaist
  • -u: konta numurs
  • -p: parole
  • db_name: Tas attiecas uz eksportējamo datu bāzi
  • tab_name: Attiecas uz eksportējamo tabulu
  • --kur: Datu filtra kritēriji
  • --no-create-info: eksportē tikai datus, nepievienojot priekšrakstu CREATE TABLE.


Beigās sekojiet ceļam uz vietu, kur jāeksportē krātuve.

Ilustrētu:

-t: Tikai ceļveža dati

--kur: stāvoklis

--triggers=false: Nevadīt trigerus

--replace: Aizstāt INSERT INTO ar REPLACE INTO



Parametri:

--visas datu bāzes , -A

Eksportējiet visas datu bāzes.

mysqldump -uroot -p --all-databases

--all-tablespaces , -Y

Eksportējiet visas galda vietas.

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

--no-tablespaces , -y

Tabulas informācija netiek eksportēta.

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

--add-drop-datu bāze

Pirms katras datu bāzes izveides pievienojiet nomešanas datu bāzes priekšrakstu.

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

--add-drop-table

Pirms katras datu tabulas izveides pievienojiet nolaižamās tabulas priekšrakstu. (Noklusējums ir atvērts, izmantojiet opciju --skip-add-drop-table, lai atceltu)

mysqldump -uroot -p --all-databases (pēc noklusējuma pievienojiet nomešanas paziņojumu)

mysqldump -uroot -p --all-databases -skip-add-drop-table (undrop paziņojums)

--pievienot slēdzenes

Pievienojiet LOCK TABLES pirms katras tabulas eksportēšanas un pēc tam UNLOCK TABLE. (noklusējums ir ieslēgts, izmantojiet opciju --skip-add-locks, lai atceltu)

mysqldump -uroot -p --all-databases (LOCK priekšraksts tiek pievienots pēc noklusējuma)

mysqldump -uroot -p --all-databases -skip-add-locks (atbloķēšanas paziņojums)

--allow-keywords

Ļauj izveidot kolonnu nosaukumus, kas ir atslēgvārdi. Tas tiek darīts, katras kolonnas nosaukumam pievienojot tabulas nosaukumu.

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

--apply-slave-statements

Pievienojiet "STOP SLAVE" pirms "CHANGE MASTER" un "START SLAVE" eksportēšanas beigās.

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

--rakstzīmju kopas-dir

Rakstzīmju kopas failu direktorijs

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

--komentāri

Papildu informācija par piezīmi. Tas ir ieslēgts pēc noklusējuma, un to var atcelt, izmantojot --skip-comments

mysqldump -uroot -p --all-databases (noklusējuma ierakstu komentāri)

mysqldump -uroot -p --all-databases --skip-comments (bez komentāriem)

--saderīgs

Eksportētie dati būs saderīgi ar citām datu bāzēm vai vecākām MySQL versijām. Vērtības var būt ANSI, MySQL323, MySQL40, PostgreSQL, Oracle, MSSQL, DB2, MaxDB, no_key_options, no_tables_options, no_field_options utt.,

Lai izmantotu vairākas vērtības, izvietojiet tās ar komatiem. Tas nav garantēts, ka tas ir pilnībā saderīgs, bet pēc iespējas vairāk.

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

--kompakts

Eksportējiet mazāk izvades informācijas (atkļūdošanai). Noņemiet struktūras, piemēram, anotācijas, galvas un astes. Opcija ir pieejama: --skip-add-drop-table --skip-add-locks --skip-comments --skip-disable-keys

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

--pabeigt-ievietot, -c

Izmantojiet pilnu ievietošanas priekšrakstu (ieskaitot kolonnas nosaukumu). Tas var uzlabot ievietošanas efektivitāti, taču to var ietekmēt max_allowed_packet parametri un izraisīt ievietošanas kļūmes.

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

--saspiest, -C

Iespējot saspiešanu, lai nodotu visu informāciju starp klientu un serveri

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

--izveidot-opcijas, -a

Iekļaujiet visas MySQL funkciju opcijas priekšrakstā CREATE TABLE. (Noklusējums ir ieslēgts)

mysqldump -uroot -p --all-databases

--datubāzes, -B

Eksportējiet vairākas datu bāzes. Visi nosaukuma parametri pēc parametra tiek uzskatīti par datu bāzes nosaukumiem.

mysqldump -uroot -p --databases test mysql

--atkļūdošana

Izvadiet atkļūdošanas informāciju atkļūdošanai. Noklusējuma vērtība ir: d:t:o,/tmp/mysqldump.trace

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

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

--atkļūdošana-pārbaude

Pārbaudiet atmiņu un atveriet faila instrukcijas un izejiet.

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

--atkļūdošana-informācija

Izvadiet atkļūdošanas informāciju un izejiet

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

--noklusējuma-rakstzīmju-kopa

Iestatiet noklusējuma rakstzīmju kopu, noklusējuma vērtība ir utf8

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

--aizkavēts-ievietojums

INSERT DELAY, lai eksportētu datus

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

--dzēst-master-žurnālus

Master Backup izdzēš žurnālus. Šis parametrs automātiski aktivizēs --master-data.

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

--atspējot-taustiņi

Katrai tabulai izmantojiet /*!40000 MAINĪT TABULU tbl_name ATSPĒJOT TAUSTIŅUS */; un /*!40000 MAINĪT TABULU tbl_name IESPĒJOT TAUSTIŅUS */; Paziņojums atsaucas uz paziņojumu INSERT. Tas ļauj ātrāk importēt izmestos failus, jo pēc visu rindu ievietošanas tiek izveidots indekss. Šī opcija ir pieejama tikai MyISAM tabulām, kuru noklusējuma stāvoklis ir atvērts.

mysqldump -uroot -p --all-databases

--izgāztuve-vergs

Izmantojot šo opciju, failam, no kura tiek pievienoti eksportētie dati, tiks pievienota galvenā binloga atrašanās vieta un faila nosaukums. Ja iestatīts uz 1, komanda CHANGE MASTER tiks izmantota, lai izvadītu datu failu. Ja iestatīts uz 2, pirms komandas pievienojiet paskaidrojošu informāciju. Šī opcija ieslēgs --lock-all-tables, ja vien nav norādīts --single-transaction. Šī opcija automātiski izslēdz opciju --lock-tables. Noklusējuma vērtība ir 0.

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

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

--notikumi, -E

Eksportēt notikumus.

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

--pagarināts-ieliktnis, -e

Izmantojiet sintaksi INSERT ar vairākām kolonnām VALUES. Tas samazina failu eksportēšanu un paātrina importēšanu. Noklusējums ir atvērts stāvoklis, izmantojiet opciju --skip-extended-insert, lai atceltu.

mysqldump -uroot -p --all-databases

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

--lauki-beidza-ar

Ignorēt norādītos eksporta faila laukus. Izmanto ar opciju --tab, nevis opcijām --databases un --all-databases

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

--lauki-norobežoti

Atsevišķi lauki izvades failā tiek iesaiņoti ar norādītajām rakstzīmēm. Izmanto ar opciju --tab, nevis opcijām --databases un --all-databases

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

--lauki-pēc izvēles-norobežoti-ar

Izvades faila lauki ir selektīvi iesaiņoti ar dotajām rakstzīmēm. Izmanto ar opciju --tab, nevis opcijām --databases un --all-databases

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

--lauki-izbēguši-ar

Atsevišķi izvades faila lauki ignorē norādītās rakstzīmes. Izmanto ar opciju --tab, nevis opcijām --databases un --all-databases

mysqldump -uroot -p mysql lietotājs --tab="/home/mysql" --fields-escaped-by="#"

--skalošanas baļķi

Atsvaidziniet žurnālus pirms eksportēšanas uzsākšanas.

Lūdzu, ņemiet vērā: ja eksportējat vairākas datu bāzes uzreiz (izmantojot opciju --databases vai --all-databases), žurnāli tiks atsvaidzināti pa datu bāzēm. Izņemot --lock-all-tables vai --master-data. Šajā gadījumā žurnāls tiks atsvaidzināts vienu reizi, un atbilstošā tabula tiks bloķēta vienlaikus. Tāpēc, ja plānojat eksportēt un izskalot žurnālus vienlaikus, jāizmanto --lock-all-tables vai --master-data un --flush-logs.

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

--flush-privilēģijas

Pēc mysql datu bāzes eksportēšanas izdodiet paziņojumu FLUSH PRIVILEGES. Lai pareizi atgūtu, šī opcija jāizmanto MySQL datu bāzes un atkarīgo MySQL datu bāzes datu eksportēšanai jebkurā laikā.

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

--spēks

Ignorēt SQL kļūdas, kas rodas eksportēšanas laikā.

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

--palīgā

Parādīt palīdzības informāciju un iziet.

mysqldump --palīdzība

--hex-blob

Eksportējiet bināro virkņu laukus, izmantojot hex formātu. Šī opcija jāizmanto, ja ir pieejami binārie dati. Ietekmētie lauku tipi ir BINARY, VARBINARY un BLOB.

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

--saimnieks, -h

Resursdatora informācija, kas jāeksportē

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

--ignorēt-tabula

Norādītā tabula netiek eksportēta. Norādot, ka vairākas tabulas tiek ignorētas, tas ir jāatkārto vairākas reizes, pa vienai tabulai. Katrā tabulā jānorāda gan datu bāze, gan tabulas nosaukums. Piemēram: --ignore-table=database.table1 --ignore-table=database.table2 ......

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

--include-master-host-port

'MAINĪT MEISTARU UZ..' ģenerēja --dump-slave <host>Pievienojiet apgalvojumam "MASTER_HOST=,MASTER_PORT<port>="  

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

--ievietot-ignorēt

Ievietojot rindiņu, izmantojiet priekšrakstu INSERT IGNIGN.

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

--līnijas-beidzas-ar

Katra izvades faila rinda ir sadalīta ar noteiktu virkni. Izmanto ar opciju --tab, nevis opcijām --databases un --all-databases.

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

--bloķēt-visus galdus, -x

Iesniedziet pieprasījumu bloķēt visas tabulas visās datu bāzēs, lai nodrošinātu datu konsekvenci. Šī ir globāla lasīšanas bloķēšana, un opcijas --one-transaction un --lock-tables tiek automātiski izslēgtas.

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

--slēdzenes galdi, -l

Pirms eksportēšanas sākšanas bloķējiet visas tabulas. Bloķējiet tabulu ar READ LOCAL, lai MyISAM tabulas varētu ievietot paralēli. Tabulām, kas atbalsta transakcijas, piemēram, InnoDB un BDB,--viena transakcija ir labāka iespēja, jo tai vispār nav nepieciešama tabulu bloķēšana.

Ņemiet vērā, ka, eksportējot vairākas datu bāzes,-- bloķēšanas tabulas bloķē tabulas katrai datu bāzei atsevišķi. Tāpēc šī opcija negarantē loģisko konsekvenci starp datu bāzēm eksportētā faila tabulām. Dažādu datu bāzes tabulu eksporta statuss var būt pilnīgi atšķirīgs.

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

--log-kļūda

Brīdinājumu un kļūdu ziņojumu pievienošana noteiktam failam

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

--pamatdati-dati

Šī opcija pievieno binlog atrašanās vietu un faila nosaukumu izvades failam. Ja tas ir 1, tiks izvadīta komanda CHANGE MASTER; Ja tas ir 2, pievienojiet komentāru pirms izvades komandas CHANGE MASTER. Šī opcija ieslēgs opciju --lock-all-tables, ja vien nav norādīts arī --single- darījums (šajā gadījumā globālā lasīšanas bloķēšana saņem īsu laiku, kad sākas eksportēšana; Citu saturu, lūdzu, skatiet tālāk esošo opciju --one-transaction). Šī opcija tiek automātiski izslēgta opcija --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

Maksimālais paketes garums, ko nosūta un pieņem serveris.

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

--net_buffer_length

TCP/IP un ligzdu savienojumu kešatmiņas lielums.

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

--no-autocommit

Izmantojiet priekšrakstu autocommit/commit tabulas aplauzšanai.

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

--no-create-db, -n

Eksportējiet datus tikai, nepievienojot priekšrakstu CREATE DATABASE.

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

--no-create-info, -t

Eksportējiet datus tikai, nepievienojot priekšrakstu CREATE TABLE.

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

--bez datiem, -d

Dati netiek eksportēti, tiek eksportēta tikai datu bāzes tabulas struktūra.

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

--no-set-names, -N

Ekvivalents --skip-set-charset

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

--izvēlēties

Līdzvērtīgs --add-drop-table, --add-locks, --create- options, --quick, --extended-insert, --lock-tables, --set- charset, --disable-keys Šī opcija ir iespējota pēc noklusējuma, un to var atspējot ar --skip-opt.

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

--sec-by-primary

Ja ir primārā atslēga vai pirmā unikāla atslēga, kārtojiet katras tabulas ierakstus. Tas darbojas, eksportējot MyISAM tabulas uz InnoDB tabulām, bet eksporta process aizņem ilgu laiku.

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

--parole, -p

Datu bāzes paroles savienošana

--caurule (pieejama logiem)

Izveidojiet savienojumu ar mysql, izmantojot nosauktu konveijeru

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

--osta, -P

Savienojuma izveide ar datu bāzes porta numuru

--protokols

Izmantotie savienojuma protokoli, tostarp: tcp, ligzda, caurule, atmiņa.

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

--ātri, -q

Eksportējiet tieši uz standarta izvadi bez buferizācijas vaicājumiem. Noklusējums ir ieslēgts, izmantojiet --skip-quick, lai atceltu šo opciju.

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

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

--pēdiņas-vārdi,-Q

Izmantojiet ('), lai izraisītu tabulu un kolonnu nosaukumus. Noklusējums ir ieslēgts, izmantojiet --skip-quote-names, lai atceltu šo opciju.

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

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

--aizstāt

Izmantojiet funkciju REPLACE INTO, lai aizstātu taustiņu INSERT INTO.

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

--rezultāta fails, -r

Izvadiet tieši uz norādīto failu. Šī opcija jāizmanto sistēmās, kas izmanto jaunās rindiņas aplaupījumus (piemēram, DOS, Windows). Šī opcija nodrošina, ka tiek izmantota tikai viena rindiņa.

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

--rutīnas, -R

Eksportējiet saglabātās procedūras, kā arī pielāgotas funkcijas.

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

--set-rakstzīmju komplekts

Pievienojiet izvades failam 'SET NAMES default_character_set'. Noklusējuma atvēršanas stāvoklī, izmantojiet --skip-set-charset, lai aizvērtu opciju.

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

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

--Viens darījums

Šī opcija pirms datu eksportēšanas iesniedz SQL priekšrakstu BEGIN, kas nebloķē nevienu lietojumprogrammu un garantē konsekventu datu bāzes stāvokli eksportēšanas laikā. Tas darbojas tikai ar vairāku versiju atmiņas dzinējiem, tikai InnoDB. Šī opcija un opcija --lock-tables ir savstarpēji izslēdzošas, jo LOCK TABLES padara jebkuru nepabeigtu transakciju netieši. Ja vēlaties eksportēt lielu tabulu, izmantojiet opciju --quick kombinācijā.

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

--izgāztuves datums

Pievienojiet eksportēšanas laiku izvades failam. Noklusējums ir atvērts stāvoklis, izmantojiet opciju --skip-dump-date, lai aizvērtu.

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

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

--izlaist-opt

Atspējojiet opciju –opt.

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

--ligzda,-S

Norādiet ligzdas faila atrašanās vietu, kas izveido savienojumu ar mysql, un noklusējuma ceļš ir /tmp/mysql.sock

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

--tab,-T

Izveidojiet tabulatoru sadalītu teksta failu katrai tabulai noteiktā ceļā. Piezīme: Tikai mysqldump un mysqld serveriem, kas darbojas vienā mašīnā.

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

--galdi

Ignorējiet parametru --databases (-B), lai norādītu eksportējamās tabulas nosaukumu.

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

--trigeri

Eksporta trigeri. Šī opcija ir iespējota pēc noklusējuma, atspējojiet to ar --skip-triggers.

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

--tz-utc

Iestatiet laika joslu TIME_ZONE='+00:00' eksportēšanas augšdaļā, lai nodrošinātu dažādās laika joslās eksportēto TIMESTAMP datu pareizību vai datu pārvietošanu uz citu laika joslu.

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

--lietotājs, -u

Norādiet savienojuma lietotājvārdu.

--verbose, --v

Izvadiet vairāku platformu informāciju.

--versija, -V

Izvadiet mysqldump versijas informāciju un izejiet

--kur, -w

Tiek izmesti tikai tie ieraksti, kas atlasīti konkrētajam nosacījumam WHERE. Ņemiet vērā, ka, ja nosacījums satur komandu tulkam specifisku atstarpi vai rakstzīmi, noteikti atsaucieties uz nosacījumu.

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

--xml, -X

Eksportēt XML formātu.

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

--plugin_dir

Klienta puses spraudņu direktorijs saderībai ar dažādām spraudņu versijām.

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

--default_auth

Klienta spraudņi izmanto atļaujas pēc noklusējuma.

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





Iepriekšējo:Es nevaru iegūt Json vērtību bootstrap tabulā
Nākamo:Vaicājuma rezultātu konvertēšana uz Json formāta skriptu koplietošanu
Publicēts 01.06.2019 02:16:47 |
Paldies, ka dalījāties
 Saimnieks| Publicēts 07.02.2021 10:01:20 |
MySQL eksportē vaicājuma rezultātus failā
https://www.itsvse.com/thread-9557-1-1.html
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com