Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 18434|Risposta: 2

[Fonte] MySQL utilizza mysqldump per esportare dati con condizioni

[Copiato link]
Pubblicato su 26/04/2019 16:07:23 | | | |

Backup ed esportazione del database MySQL
https://www.itsvse.com/thread-4004-1-1.html
(Fonte: Architect_Programmer)
Riepiloghi dei database di importazioni ed esportazioni di MySQLdump
https://www.itsvse.com/thread-4353-1-1.html
(Fonte: Architect_Programmer)
mysqldump esporta il database "accesso negato"
https://www.itsvse.com/thread-4005-1-1.html
(Fonte: Architect_Programmer)

Come mostrato nel link sopra, il contenuto dell'intero database viene esportato, può essere esportato con le condizioni? Certo che puoi!


Comando:

Analisi dei parametri:

  • -h: Specifica l'indirizzo del database
  • --porta: Specifica la porta del database, se è la porta predefinita 3306, può essere omessa
  • -u: numero conto
  • -P: Password
  • db_name: Si riferisce a quale database esportare
  • tab_name: Questo si riferisce a quale tabella esportare
  • --dove: criteri di filtro dati
  • --no-create-info: esporta solo i dati senza aggiungere l'istruzione CREATE TABLE.


Alla fine, segui il percorso fino al punto in cui devi esportare lo storage.

Illustrare:

-t: Solo dati guida

--dove: condizione

--triggers=false: Non guidare i trigger

--sostituire: Sostituire INSERT IN con REPLACE INTO



Parametri:

--tutti i database, -A

Esporta tutti i database.

mysqldump -uroot -p --all-databases

--tutti gli spazi tabella, -Y

Esporta tutti gli spazi tabella.

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

--no-tablespace , -y

Non viene esportata alcuna informazione sugli spazi di tavolo.

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

--aggiungi-drop-database

Aggiungi un'istruzione drop database prima che ogni database venga creato.

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

--aggiunta-drop-tabella

Aggiungi un'istruzione drop table prima che venga creata ogni tabella dati. (Il predefinito è aperto, usa --skip-add-drop-table per annullare l'opzione)

mysqldump -uroot -p --all-databases (aggiungi l'istruzione drop di default)

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

--aggiunta-serrature

Aggiungi le TABELLE LOCK prima di ogni tabella, esporta e poi sblocca la TABELLA. (impostazione predefinita attiva, usa --skip-aggiungi-blocchi per annullare l'opzione)

mysqldump -uroot -p --all-databases (l'istruzione LOCK viene aggiunta di default)

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

--parole-permesso

Permette la creazione di nomi di colonne che sono parole chiave. Questo avviene prefissando il nome della tabella a ogni nome di colonna.

mysqldump -uroot -p --tutti i database --allow-keywords

--applica-affermazioni-schiavo

Aggiungi 'STOP SLAVE' prima di 'CHANGE MASTER' e 'START SLAVE' alla fine dell'esportazione.

mysqldump -uroot -p --tutti i database --apply-slave-statements

--insiemi-caratteri-dir.

Directory dei file di set di caratteri

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

--commenti

Informazioni aggiuntive sulla nota. È attivato di default e può essere annullato con --skip-comments

mysqldump -uroot -p --tutti i database (commenti predefiniti dei record)

mysqldump -uroot -p --tutti i database --skip-commenti (discommento)

--compatibile

I dati esportati saranno compatibili con altri database o versioni più vecchie di MySQL. I valori possono essere ANSI, MySQL323, MySQL40, PostgreSQL, Oracle, MSSQL, DB2, MaxDB, no_key_options, no_tables_options, no_field_options, ecc.

Per usare diversi valori, distanziali con virgole. Non è garantito che sia completamente compatibile, ma il più possibile.

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

--compatto

Esporta meno informazioni di output (per il debug). Rimuovi strutture come annotazioni e teste e croce. L'opzione è disponibile: --salta aggiungi-drop-tabella --salta aggiungi-blocchi ---salta commenti --salta disabilita-tasti

mysqldump -uroot -p --tutti i database --compact

--inserimento-completo, -c

Usa l'istruzione completa (incluso il nome della colonna). Questo può migliorare l'efficienza dell'inserimento, ma può essere influenzato da parametri max_allowed_packet e causare fallimenti nell'inserimento.

mysqldump -uroot -p --tutti i database --inserti completi

--compressa, -C

Abilita la compressione per passare tutte le informazioni tra client e server

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

--create-options, -a

Includi tutte le opzioni di funzionalità MySQL nell'istruzione CREATE TABLE. (Impostazione predefinita attiva)

mysqldump -uroot -p --all-databases

--database, -B

Esporta diversi database. Tutti i parametri dei nomi dopo il parametro vengono trattati come nomi di database.

mysqldump -uroot -p --database testano mysql

--debug

Output delle informazioni di debug per il debug. Il valore predefinito è: 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

Controlla la memoria, apri le istruzioni del file e poi esci.

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

--debug-info

Informazioni di debug di output e uscita

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

--set di caratteri predefinito

Imposta il set di caratteri predefinito, il valore predefinito è utf8

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

--inserimento ritardato

INSERIRE RITARDATO per esportare i dati

mysqldump -uroot -p --tutti i database --inserto-ritardato

--delete-master-logs

Il backup master cancella i log. Questo parametro si attiverà automaticamente --master-data.

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

--tasti-disabilita-tasti

Per ogni tabella, usa /*!40000 ALTER TABLE tbl_name DISABILITA TASTI */; e /*!40000 ALTER TABELLA tbl_name ABILITA LE CHIAVI */; L'istruzione fa riferimento all'istruzione INSERIRE. Questo permette un'importazione più rapida dei file dump, poiché crea un indice dopo aver inserito tutte le righe. Questa opzione è disponibile solo per le tabelle MyISAM, che di default impostano lo stato aperto.

mysqldump -uroot -p --all-databases

--schiavo di svuotamento

Questa opzione farà sì che la posizione principale del binlog e il nome del file vengano aggiunti al file da cui vengono aggiunti i dati esportati. Quando impostato su 1, il comando CHANGE MASTER verrà utilizzato per inviare il file di dati. Quando impostato su 2, aggiungi informazioni esplicative prima del comando. Questa opzione si attiverà --lock-all-tables, a meno che --single-transaction non sia specificato. Questa opzione disattiva automaticamente l'opzione --lock-table. Il valore predefinito è 0.

mysqldump -uroot -p --tutti i database --dump-slave=1

mysqldump -uroot -p --tutti i database --dump-slave=2

--eventi, -E

Eventi di esportazione.

mysqldump -uroot -p --all-databases --eventi

--inserimento esteso, -e

Usa la sintassi INSERT con più colonne VALUES. Questo rende l'esportazione dei file più piccola e accelera le importazioni. Imposta di default lo stato aperto, usa l'opzione --skip-extended-insert per annullare.

mysqldump -uroot -p --all-databases

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

--campi-terminati-da

Ignora i campi indicati nel file di esportazione. Usato con l'opzione --tab, non per le opzioni --database e --all-databases

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

--campi-chiusi-da

I singoli campi nel file di output sono avvolti con i caratteri forniti. Usato con l'opzione --tab, non per le opzioni --database e --all-databases

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

--campi-optionally-enclos-by

I campi nel file di output sono selettivamente avvolti con i caratteri forniti. Usato con l'opzione --tab, non per le opzioni --database e --all-databases

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

--campi-scappati-da

I singoli campi nel file di output ignorano i caratteri forniti. Usato con l'opzione --tab, non per le opzioni --database e --all-databases

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

--ceppi a filo

Aggiorna i log prima di iniziare l'esportazione.

Si prega di notare: se esporti più database contemporaneamente (utilizzando l'opzione --database o --tutti i database), i log verranno aggiornati database per database. Tranne usando --lock-all-tables o --master-data. In questo caso, il log verrà aggiornato una volta e la tabella corrispondente sarà bloccata contemporaneamente. Pertanto, se intendi esportare e svuotare i log contemporaneamente, dovresti usare --lock-all-tables o --master-data e --flush-logs.

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

--privilegi di colore

Dopo aver esportato il database mysql, emettere un'istruzione FLUSH PRIVILEGES. Per un recupero corretto, questa opzione dovrebbe essere utilizzata per esportare dati del database MySQL e del database MySQL dipendente in qualsiasi momento.

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

--forza

Ignora gli errori SQL che si verificano durante l'esportazione.

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

--Guida

Visualizza le informazioni di aiuto ed esci.

mysqldump --aiuto

--esa-macchia

Esporta i campi di stringhe binarie usando il formato esadecimale. Questa opzione deve essere utilizzata se sono disponibili dati binari. I tipi di campo interessati sono BINARI, VARBINARY e BLOB.

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

--conduttore, -h

Informazioni dell'host da esportare

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

--ignora-tabella

La tabella specificata non viene esportata. Quando si specifica che vengono ignorate più tabelle, è necessario ripeterlo più volte, una tabella alla volta. Ogni tabella deve specificare sia il database sia il nome della tabella. Ad esempio: --ignore-table=database.table1 --ignore-table=database.table2 ......

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

--include-master-host-port

'CAMBIA MASTER IN..' generato da --dump-slave Aggiungi 'MASTER_HOST=<host>,MASTER_PORT=<port>' all'enunciato  

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

--inserire-ignorare

Usa l'istruzione INSERT IGNORE quando inserisci una riga.

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

--linee-terminate-da

Ogni riga del file di output è divisa da una stringa data. Usato con l'opzione --tab, non per le opzioni --database e --all-databases.

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

--blocca-tutti-tabelle, -x

Invia una richiesta per bloccare tutte le tabelle in tutti i database per garantire la coerenza dei dati. Si tratta di un blocco di lettura globale, e le opzioni --single-transaction e --lock-table sono automaticamente disattivate.

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

--tavoli a chiusura, -l

Blocca tutte le tabelle prima di iniziare l'esportazione. Blocca la tabella con READ LOCAL per permettere l'inserimento parallelo delle tabelle MyISAM. Per le tabelle che supportano transazioni, come InnoDB e BDB,-- la transazione singola è un'opzione migliore perché non richiede affatto il blocco delle tabelle.

Si noti che quando si esportano più database,-- le tabelle di blocco bloccano le tabelle per ogni database separatamente. Pertanto, questa opzione non garantisce la coerenza logica tra i database per le tabelle nel file esportato. Lo stato di esportazione di diverse tabelle del database può essere completamente diverso.

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

--log-error

Allega avvisi e messaggi di errore a un file specifico

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

--dati master

Questa opzione aggiunge la posizione e il nome del file del binlog al file di output. Se è 1, il comando CHANGE MASTER verrà inviato; Se è 2, aggiungi un commento prima dell'output del comando CHANGE MASTER. L'opzione attiverà l'opzione --lock-all-table a meno che non sia specificata anche --singola transazione (in questo caso, il blocco globale di lettura ha un breve tempo all'inizio dell'esportazione; Per altri contenuti, si prega di consultare l'opzione --singola transazione qui sotto). Questa opzione viene automaticamente disattivata --opzione blocca tabelle.

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

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

--max_allowed_packet

La lunghezza massima del pacchetto inviata e accettata dal server.

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

--net_buffer_length

Dimensione della cache per le connessioni TCP/IP e socket.

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

--no-autocommit

Usa l'istruzione autocommit/commit per avvolgere la tabella.

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

--no-create-db, -n

Esporta solo i dati senza aggiungere l'istruzione CREATE DATABASE.

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

--no-crea-informazioni, -t

Esporta solo i dati senza aggiungere l'istruzione CREATE TABLE.

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

--no-data, -d

Non vengono esportati dati, viene esportata solo la struttura della tabella del database.

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

--niente-nomi fissi, -N

Equivalente a --skip-set-charset

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

--opt

Equivalente a --add-drop-table, --aggiungi-blocchi, --crea- opzioni, --quick, --inserto-esteso, --blocco-tabelle, --set- carset, --disabilita-tasti. Questa opzione è abilitata di default e può essere disabilitata con --skip-opt.

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

--ordine-per-primario

Se esiste una chiave primaria, o la prima chiave unica, ordina i record per ogni tabella. Questo funziona quando si esportano le tabelle MyISAM su tabelle InnoDB, ma il processo di esportazione richiede molto tempo.

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

--password, -p

Collega la password del database

--tubo (disponibile per finestre)

Collegati a MySQL usando una pipeline nominata

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

--sinistra, -P

Collegati al numero di porta del database

--protocollo

Protocolli di connessione utilizzati, inclusi: TCP, socket, pipe, memoria.

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

--veloce, -q

Esporta direttamente in output standard senza buffering di query. Se il predefinito è attivo, usa --skip-quick per annullare questa opzione.

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

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

--nomi di citazione,-Q

Usa (') per causare nomi di tabelle e colonne. Il default è attivo, usa --skip-quote-names per annullare questa opzione.

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

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

--sostituire

Usa REPLACE INTO per sostituire INSERT INTO.

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

--file-risultato, -r

Output direttamente nel file specificato. Questa opzione dovrebbe essere utilizzata su sistemi che utilizzano il wrap di nuova linea (ad esempio DOS, Windows). Questa opzione garantisce che venga utilizzata una sola linea.

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

--routine, -R

Esporta procedure memorizzate così come funzioni personalizzate.

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

--set-carattere

Aggiungi 'SET NAMES default_character_set' al file di output. Imposta di default lo stato aperto, usa --skip-set-charset per chiudere l'opzione.

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

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

--transazione singola

Questa opzione invia un'istruzione SQL BEGIN prima di esportare i dati, che non blocca alcuna applicazione e garantisce uno stato coerente del database al momento dell'esportazione. Funziona solo con motori di storage multi-versione, solo con InnoDB. Questa opzione e l'opzione --lock-tables sono mutuamente esclusive, perché LOCK TABLES rende implicitamente commit qualsiasi transazione in sospeso. Se vuoi esportare una tabella grande, dovresti usare l'opzione --quick in combinazione.

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

--data di dump

Aggiungi il tempo di esportazione al file di output. Imposta di default lo stato aperto, usa l'opzione --skip-dump-date to close.

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

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

--skip-opt

Disabilita l'opzione –opt.

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

--presa,-S

Specifica la posizione del file socket che si collega a mysql, e il percorso predefinito è /tmp/mysql.sock

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

--tab,-T

Crea un file di testo a spartizione di tabulazione per ogni tabella in un dato percorso. Nota: Solo per i server mysqldump e mysqld che girano sulla stessa macchina.

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

--tabelle

Sovrascrivere il parametro --databases (-B) per specificare il nome della tabella da esportare.

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

--trigger

Esporta trigger. Questa opzione è abilitata di default, disabilitala con --skip-triggers.

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

--tz-utc

Imposta il fuso orario TIME_ZONE='+00:00' in cima all'esportazione per garantire la correttezza dei dati TIMESTAMP esportati in fusi orari diversi o quando i dati vengono spostati in un fuso orario diverso.

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

--utente, -u

Specifica il nome utente della connessione.

--verboso, --v

Invia informazioni su più piattaforme.

--versione, -V

Output informazioni sulla versione di mysqldump ed uscita

--dove, -w

Solo i record selezionati per la condizione WHERE data vengono dumpati. Si noti che se la condizione contiene uno spazio o un carattere specifico dell'interprete comando, assicurati di fare riferimento alla condizione.

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

--xml, -X

Esporta formato XML.

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

--plugin_dir

Una directory di plugin lato client per la compatibilità con diverse versioni di plugin.

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

--default_auth

I plugin client usano i permessi di default.

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





Precedente:Non riesco a trovare il valore di Json nella tabella bootstrap
Prossimo:Converti i risultati delle query in condivisione script in formato Json
Pubblicato su 01/06/2019 02:16:47 |
Grazie per aver condiviso
 Padrone di casa| Pubblicato su 07/02/2021 10:01:20 |
MySQL esporta i risultati della query in un file
https://www.itsvse.com/thread-9557-1-1.html
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com