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>"
|