Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 18434|Răspunde: 2

[Sursă] MySQL folosește mysqldump pentru a exporta date cu condiții

[Copiază linkul]
Postat pe 26.04.2019 16:07:23 | | | |

Backup-ul și exportul bazei de date MySQL
https://www.itsvse.com/thread-4004-1-1.html
(Sursa: Architect_Programmer)
Rezumate ale bazelor de date MySQL Dump pentru importuri și exporturi
https://www.itsvse.com/thread-4353-1-1.html
(Sursa: Architect_Programmer)
MySQL Dump exportă baza de date "acces refuzat"
https://www.itsvse.com/thread-4005-1-1.html
(Sursa: Architect_Programmer)

Așa cum se arată în linkul de mai sus, conținutul întregii baze de date este exportat, poate fi exportat cu condiții? Desigur că poți!


Comanda:

Analiza parametrilor:

  • -h: Specifică adresa bazei de date
  • --port: Specifică portul bazei de date, dacă este portul implicit 3306, acesta poate fi omis
  • -u: număr cont
  • -p: parolă
  • db_name: Aceasta se referă la ce bază de date să se exporte
  • tab_name: Aceasta se referă la ce tabel să se exporte
  • --unde: Criterii de filtrare a datelor
  • --no-create-info: exportă doar datele fără a adăuga o instrucțiune CREATE TABLE.


La final, urmează drumul până la locul unde trebuie să exporți stocarea.

Ilustra:

-t: Doar date de ghid

--unde: condiție

--triggers=false: Nu ghidați trigger-urile

--replace: Înlocuiește INSERT IN cu REPLACE INTO



Parametri:

--toate bazele de date , -A

Exportă toate bazele de date.

mysqldump -uroot -p --all-databases

--toate spațiile de tabel , -Y

Exportă toate spațiile de tabelă.

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

--fără spații de tabel , -y

Nu se exportă nicio informație în spațiul de tabel.

mysqldump -uroot -p --toate-baze de date --no-tablespaces

--adaugă-drop-bază de date

Adaugă o instrucțiune drop database înainte de crearea fiecărei baze de date.

mysqldump -uroot -p --toate-baze de date --add-drop-database

--adaugă-drop-table-

Adaugă o instrucțiune drop table înainte ca fiecare tabel de date să fie creat. (Implicit este deschis, folosește opțiunea --skip-add-drop-table pentru a anula)

mysqldump -uroot -p --toate-baze de date (add drop statement implicit)

mysqldump -uroot -p --toate-baze de date –skip-add-drop-table (instrucțiunea undrop)

--adaugă-blocaje

Adaugă LOCK TABLES înainte de fiecare masă, export și UNLOCK TABLE după. (opțiunea implicită este activată, folosește --skip-add-locks pentru a anula)

mysqldump -uroot -p --toate-baze de date (instrucțiunea LOCK este adăugată implicit)

mysqldump -uroot -p --all-databases –skip-add-locks (instrucțiunea deblocare)

--permite-cuvinte-cheie

Permite crearea numelor de coloane care sunt cuvinte cheie. Acest lucru se face prin prefixarea numelui tabelului fiecărui nume de coloană.

mysqldump -uroot -p --toate-baze de date --permite-cuvinte-cheie

--apply-slave-statements

Adaugă 'STOP SLAVE' înainte de 'CHANGE MASTER' și 'START SLAVE' la finalul exportului.

mysqldump -uroot -p --toate-baze de date --apply-slave-statement

--seturi-personaje-director-

Directorul fișierelor setului de caractere

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

--comentarii

Informații suplimentare despre note. Este activată implicit și poate fi anulată prin --skip-comments

mysqldump -uroot -p --toate-baze de date (comentarii implicite ale înregistrărilor)

mysqldump -uroot -p --toate-bazele de date --skip-comments (anulare comentariul)

--compatibil

Datele exportate vor fi compatibile cu alte baze de date sau versiuni mai vechi de MySQL. Valorile pot fi ANSI, MySQL323, MySQL40, PostgreSQL, Oracle, MSSQL, DB2, MaxDB, no_key_options, no_tables_options, no_field_options etc.

Pentru a folosi mai multe valori, distanțează-le cu virgule. Nu este garantat că va fi complet compatibil, dar cât mai mult posibil.

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

--compact

Exportă mai puține informații de ieșire (pentru depanare). Îndepărtați structurile precum adnotările și capetele și pajură. Opțiunea este disponibilă: --skip-adaugă-drop-table --sari-sari-adaugă-blocări --sari-comentarii --sari-sari-dezactivează-tastele

mysqldump -uroot -p --toate-baze de date --compact

--complet-insert, -c

Folosește instrucțiunea completă insert (inclusiv numele coloanei). Acest lucru poate îmbunătăți eficiența inserției, dar poate fi afectat de parametri max_allowed_packet și poate cauza eșecuri de inserție.

mysqldump -uroot -p --toate-baze de date --insertare completă

--comprim, -C

Activează compresia pentru a transmite toate informațiile între client și server

mysqldump -uroot -p --toate-baze de date --comprim

--create-options, -a

Include toate opțiunile de funcționalitate MySQL în instrucțiunea CREATE TABLE. (Implicitul este activat)

mysqldump -uroot -p --all-databases

--baze de date, -B

Exportă mai multe baze de date. Toți parametrii de nume după parametru sunt tratați ca nume de baze de date.

mysqldump -uroot -p --baze de date testează mysql

--depanare

Furnizează informații de depanare pentru depanare. Valoarea implicită este: d:t:o,/tmp/mysqldump.trace

mysqldump -uroot -p --toate-baze de date --debug

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

--debug-check

Verifică memoria, deschide instrucțiunile fișierului și ieși.

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

--debug-info

Informații de depanare de ieșire și ieșire

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

--setul implicit de caractere

Setează setul implicit de caractere, valoarea implicită este utf8

mysqldump -uroot -p --toate-baze de date --default-character-set=latin1

--inserție-întârziată

INSERT DELAYED pentru exportul datelor

mysqldump -uroot -p --toate-baze de date --insert-întârziat

--delete-master-logs

Backup-ul master șterge jurnalele. Acest parametru se va activa automat --master-data.

mysqldump -uroot -p --toate-baze de date --delete-master-logs

--dezactivare-chei

Pentru fiecare tabel, folosiți /*!40000 ALTER TABLE tbl_name DISABLE KEYS */; și /*!40000 MODIFICARE TABELUL tbl_name ACTIVAREA CHEILOR */; Declarația face referire la afirmația INSERT. Acest lucru permite importul mai rapid al fișierelor dumpate, deoarece creează un index după introducerea tuturor rândurilor. Această opțiune este disponibilă doar pentru tabelele MyISAM, care implicit trec pe starea deschisă.

mysqldump -uroot -p --all-databases

--sclav de aruncare

Această opțiune va face ca locația principală a binlogului și numele fișierului să fie adăugate fișierului din care sunt adăugate datele exportate. Când este setată la 1, comanda CHANGE MASTER va fi folosită pentru a trimite în fișierul de date. Când este setat la 2, adaugă informații explicative înainte de comandă. Această opțiune se va activa --lock-all-tables, cu excepția cazului în care --single-transaction este specificată. Această opțiune dezactivează automat opțiunea --lock-tables. Valoarea implicită este 0.

mysqldump -uroot -p --toate-baze de date --dump-slave=1

mysqldump -uroot -p --toate-baze de date --dump-slave=2

--evenimente, -E

Evenimente de export.

mysqldump -uroot -p --toate-baze de date --evenimente

--inserare-extinsă, -e

Folosește sintaxa INSERT cu mai multe coloane VALUES. Acest lucru face ca exportul fișierelor să fie mai mic și accelerează importurile. Implicit pe open state, folosește opțiunea --skip-extended-insert to cancel.

mysqldump -uroot -p --all-databases

mysqldump -uroot -p --toate-bazele de date--skip-extended-insert (neopțiune)

--câmpuri-terminate-de

Ignoră câmpurile date în fișierul de export. Folosit cu opțiunea --tab, nu pentru opțiunile --databases și --all-databases

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

--câmpuri-închise-de

Câmpurile individuale din fișierul de ieșire sunt împachetate cu caracterele date. Folosit cu opțiunea --tab, nu pentru opțiunile --databases și --all-databases

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

--câmpuri-opțional-închise-de

Câmpurile din fișierul de ieșire sunt înfășurate selectiv cu caracterele date. Folosit cu opțiunea --tab, nu pentru opțiunile --databases și --all-databases

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

--câmpuri-scăpate de

Câmpurile individuale din fișierul de ieșire ignoră caracterele date. Folosit cu opțiunea --tab, nu pentru opțiunile --databases și --all-databases

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

--bușteni de apă

Reîmprospătează jurnalele înainte de a începe exportul.

Vă rugăm să rețineți: dacă exportați mai multe baze de date simultan (folosind opțiunea --baze de date sau --toate bazele de date), jurnalele vor fi reîmprospătate pe baza bazei de date. Cu excepția folosirii lui --lock-all-tables sau --master-data. În acest caz, jurnalul va fi reîmprospătat o singură dată, iar tabelul corespunzător va fi blocat în același timp. Prin urmare, dacă intenționezi să exporti și să elimini logurile în același timp, ar trebui să folosești --lock-all-tables sau --master-data și --flush-logs.

mysqldump -uroot -p --toate-baze de date --flush-logs

--privilegii de culoare

După exportarea bazei de date mysql, emiteți o declarație FLUSH PRIVILEGES. Pentru o recuperare corectă, această opțiune ar trebui folosită pentru exportul datelor MySQL și a datelor MySQL dependente oricând.

mysqldump -uroot -p --toate-baze de date ---flush-privileges

--forță

Ignoră erorile SQL care apar în timpul exportului.

mysqldump -uroot -p --toate-baze de date --force

--ajutor

Afișează informații de ajutor și pleacă.

mysqldump -- ajutor

--hex-blob

Exportă câmpurile binare de șiruri folosind formatul hexadecimal. Această opțiune trebuie folosită dacă există date binare disponibile. Tipurile de câmp afectate sunt BINARY, VARBINARY și BLOB.

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

--gazdă, -h

Informații despre gazdă care trebuie exportate

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

--ignoră-tabel-

Tabelul specificat nu este exportat. Când se specifică faptul că mai multe tabele sunt ignorate, trebuie repetat de mai multe ori, câte un tabel odată. Fiecare tabel trebuie să specifice atât baza de date, cât și numele tabelului. De exemplu: --ignore-table=database.table1 --ignore-table=database.table2 ......

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

--include-master-host-port

"SCHIMBĂ MAESTRUL LA...", generat de --dump-slave Adaugă 'MASTER_HOST=<host>,MASTER_PORT=<port>' la afirmație  

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

--inserează-ignoră

Folosește instrucțiunea INSERT IGNORE când inserezi o linie.

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

--linii-terminate-de

Fiecare linie a fișierului de ieșire este împărțită printr-un șir dat. Folosit cu opțiunea --tab, nu pentru opțiunile --databases și --all-databases.

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

--blochează-toate tabelele, -x

Trimiteți o cerere de blocare a tuturor tabelelor din toate bazele de date pentru a asigura consistența datelor. Aceasta este o blocare globală de citire, iar opțiunile --single-transaction-și --lock-table sunt dezactivate automat.

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

--mese de lacăt, -l

Blochează toate tabelele înainte de a începe exportul. Blochează tabelul cu READ LOCAL pentru a permite inserarea tabelelor MyISAM în paralel. Pentru tabele care suportă tranzacții, cum ar fi InnoDB și BDB,-- tranzacție unică este o opțiune mai bună deoarece nu necesită deloc tabele de blocare.

Rețineți că atunci când exportați mai multe baze de date,-- tabelele de blocare blochează tabelele pentru fiecare bază de date separat. Prin urmare, această opțiune nu garantează consistența logică între bazele de date pentru tabelele din fișierul exportat. Starea de export a diferitelor tabele de baze de date poate fi complet diferită.

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

--log-error

Atașează avertismente și mesaje de eroare unui fișier dat

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

--master-data

Această opțiune adaugă locația și numele fișierului binlog fișierului de ieșire. Dacă este 1, comanda CHANGE MASTER va fi afișată; Dacă este 2, adaugă un comentariu înainte de comanda output CHANGE MASTER. Opțiunea va activa opțiunea --blochează-toate tabelele, cu excepția cazului în care este specificată și --single- tranzacție (în acest caz, blocarea globală de citire primește un timp scurt când începe exportul; Pentru alte conținuturi, vă rugăm să consultați opțiunea --single-transaction de mai jos). Această opțiune este dezactivată automat --opțiunea de blocare a tabelelor.

mysqldump -uroot -p --host=localhost --toate-baze de date --master-data=1;

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

--max_allowed_packet

Lungimea maximă a pachetului trimisă și acceptată de server.

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

--net_buffer_length

Dimensiunea cache-ului pentru conexiunile TCP/IP și socket.

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

--no-autocommit

Folosește instrucțiunea autocommit/commit pentru a înfășura tabelul.

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

--no-create-db, -n

Exportă doar datele fără a adăuga instrucțiunea CREATE DATABASE.

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

--no-create-info, -t

Exportă doar datele fără a adăuga instrucțiunea CREATE TABLE.

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

--no-date, -d

Nu se exportă niciun dată, doar structura tabelului bazei de date este exportată.

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

--nume-fixe, -N

Echivalent cu --skip-set-carset

mysqldump -uroot -p --host=localhost --all-databases --no-set-name-uri

--opt

Echivalent cu --add-drop-table, --add-locks, --create- options, --quick, --extended-insert, --lock-tables, --set-charset, --disable keys Această opțiune este activată implicit și poate fi dezactivată cu --skip-opt.

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

--ordin pe primar

Dacă există o cheie primară sau prima cheie unică, sortează înregistrările pentru fiecare tabel. Acest lucru funcționează la exportul tabelelor MyISAM în tabele InnoDB, dar face ca procesul de export să dureze mult.

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

--parolă, -p

Conectează parola bazei de date

--țeavă (disponibilă pentru ferestre)

Conectează-te la mysql folosind o conductă denumită

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

--babord, -P

Conectează-te la numărul portului bazei de date

--protocol

Protocoalele de conexiune folosite, inclusiv: TCP, socket, pipe, memorie.

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

--repede, -q

Exportă direct la ieșirea standard fără interogări de buffering. Implicit este activat, folosește --skip-quick pentru a anula această opțiune.

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

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

--nume-ghilimele,-Q

Folosiți (') pentru a determina denumirile tabelelor și coloanelor. Implicit este activat, folosește --skip-quote-names pentru a anula această opțiune.

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

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

--înlocuit

Folosește REPLACE INTO pentru a înlocui INSERT INTO.

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

--fișierul-rezultat, -r

Ieși direct în fișierul specificat. Această opțiune ar trebui folosită pe sistemele care folosesc înfășurări de linie nouă (de exemplu, DOS, Windows). Această opțiune asigură folosirea unei singure linii.

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

--rutine, -R

Exportă proceduri stocate, precum și funcții personalizate.

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

--set-caractere

Adaugă "SET NAMES default_character_set" în fișierul de ieșire. Implicit pe open state, folosește --skip-set-charset pentru a închide opțiunea.

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

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

--tranzacție unică

Această opțiune trimite o instrucțiune SQL BEGIN înainte de exportul datelor, care nu blochează nicio aplicație și garantează o stare consecventă a bazei de date la momentul exportului. Funcționează doar cu motoare de stocare multi-versiune, doar cu InnoDB. Această opțiune și opțiunea --lock-tables sunt mutual exclusive, deoarece LOCK TABLES face ca orice tranzacție în așteptare să fie implicit angajată. Dacă vrei să exporti un tabel mare, ar trebui să folosești opțiunea --quick în combinație.

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

--dată de abandonare

Adaugă timpul de export în fișierul de ieșire. Implicit pe open state, folosește opțiunea --skip-dump-date to close.

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

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

--skip-opt

Dezactivează opțiunea –opt.

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

--socket,-S

Specifică locația fișierului socket care se conectează la mysql, iar calea implicită este /tmp/mysql.sock

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

--tab,-T

Creează un fișier text tab-split pentru fiecare tabel dintr-o anumită cale. Notă: Doar pentru serverele mysqldump și mysqld care rulează pe aceeași mașină.

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

--tabele

Suprascrie parametrul --databases (-B) pentru a specifica numele tabelului ce urmează să fie exportat.

mysqldump -uroot -p --host=localhost --database test --table test

--declanșatoare

Declanșatoare de export. Această opțiune este activată implicit, dezactiveaz-o cu --skip-triggers.

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

--tz-utc

Setează fusul orar TIME_ZONE='+00:00' în partea de sus a exportului pentru a asigura corectitudinea datelor TIMESTAMP exportate în fusuri orare diferite sau când datele sunt mutate într-un alt fus orar.

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

--utilizator, -u

Specifică numele de utilizator al conexiunii.

--verbos, --v

Furnizează informații despre mai multe platforme.

--versiune, -V

Scoate informațiile despre versiunea mysqldump și ieși

--unde, -w

Doar înregistrările selectate pentru condiția WHERE dată sunt dumpate. Rețineți că, dacă condiția conține un spațiu sau caracter specific interpretului de comandă, asigurați-vă că faceți referire la acea condiție.

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

--xml, -X

Exportă formatul XML.

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

--plugin_dir

Un director de pluginuri pe partea clientului pentru compatibilitate cu diferite versiuni de pluginuri.

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

--default_auth

Pluginurile client folosesc permisiuni implicit.

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





Precedent:Nu pot obține valoarea lui Json în tabelul bootstrap
Următor:Convertiți rezultatele interogării în partajarea scripturilor în format Json
Postat pe 01.06.2019 02:16:47 |
Mulțumesc că ai împărtășit
 Proprietarul| Postat pe 07.02.2021 10:01:20 |
MySQL exportă rezultatele interogării într-un fișier
https://www.itsvse.com/thread-9557-1-1.html
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com