solo dati mysqldump


Risposte:


553
mysqldump --no-create-info ...

Inoltre puoi usare:

  • --skip-triggers: se si utilizzano i trigger
  • --no-create-db: se si utilizza l' --databases ...opzione
  • --compact: se vuoi sbarazzarti di commenti extra

47
Ecco il cmd completo per i copia-pastersmysqldump -u USERNAME -h HOST --no-create-info --skip-triggers YOURDATABASENAME YOURTABLENAME --where='id=12345678'
Yzmir Ramirez,

2
Se ottieni Access denied for user ... to database '...' when doing LOCK TABLES, usa--single-transaction
Rolf il

@YzmirRamirez grazie ma Cordiali saluti su Windows ho dovuto usare virgolette doppie --where. Ad esempio,--where="id=2"
Kip

Questo è stato un grande risparmio per me. Grazie.
Ken Ingram,

149

Questo dovrebbe funzionare:

# To export to file (data only)
mysqldump -u [user] -p[pass] --no-create-info mydb > mydb.sql

# To export to file (structure only)
mysqldump -u [user] -p[pass] --no-data mydb > mydb.sql

# To import to database
mysql -u [user] -p[pass] mydb < mydb.sql

NOTA: non c'è spazio tra -p&[pass]


12
--no-create-dbè ridondante quando si utilizza--no-create-info
James McMahon il

4
Uno spazio dopo -pva bene
Grazie

12
In genere è meglio usare solo -p senza fornire la password in modo che la password non sia memorizzata nella cronologia di bash (ti verrà richiesto di inserire la password dopo aver eseguito il comando).
Dan

2
Oltre ai consigli di @ Dan, rende la password visibile a tutti gli utenti che possono elencare i processi correnti ( ps -ef)
TMG

1
Lasciare la password dopo che l' -popzione mysqldumprichiede la password.
Melle,

22
 >> man -k  mysqldump [enter in the terminal]

troverai la spiegazione di seguito

--no-create-info, -t

Non scrivere le istruzioni CREATE TABLE che ricreano ciascuna tabella di cui è stato eseguito il dump. Nota Questa opzione non esclude le istruzioni che creano gruppi di file di registro o tablespace dall'output di mysqldump; tuttavia, è possibile utilizzare l'opzione --no-tablespaces per questo scopo.

--no-data, -d

Non scrivere alcuna informazione sulla riga della tabella (ovvero, non scaricare il contenuto della tabella). Ciò è utile se si desidera eseguire il dump solo dell'istruzione CREATE TABLE per la tabella (ad esempio, per creare una copia vuota della tabella caricando il file di dump).

# To export to file (data only)
mysqldump -t -u [user] -p[pass] -t mydb > mydb_data.sql

# To export to file (structure only)
mysqldump -d -u [user] -p[pass] -d mydb > mydb_structure.sql

3
c'è un motivo per usare due volte l'opzione '-t' e '-d'?
Erwan,

19

Se si desidera solo le query INSERT, utilizzare quanto segue:

mysqldump --skip-triggers --compact --no-create-info


grazie per il --compactquale ti
libererai delle

2

Suggerirei di utilizzare il frammento seguente. Funziona bene anche con tavoli enormi (altrimenti apriresti il ​​dump nell'editor e spogli roba non necessaria, giusto?;)

mysqldump --no-create-info --skip-triggers --extended-insert --lock-tables --quick DB TABLE > dump.sql

Almeno mysql 5.x richiesto, ma chi gestisce roba vecchia al giorno d'oggi .. :)


Di recente mi sono imbattuto in una situazione, in cui ho dovuto collegarmi a un sistema che utilizzava 4.x in produzione. Avevano spazi nei nomi di tabelle e colonne e, a mio avviso, stavano facendo praticamente tutto sbagliato.
Elkvis,


0

Prova a scaricare in un file delimitato.

mysqldump -u [username] -p -t -T/path/to/directory [database] --fields-enclosed-by=\" --fields-terminated-by=,

0

Quando ho tentato di esportare i dati utilizzando la risposta accettata ho ricevuto un errore:

ERROR 1235 (42000) at line 3367: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'

Come menzionato sopra:

mysqldump --no-create-info

Esporterà i dati ma esporterà anche le istruzioni trigger trigger. Se come me la tua struttura di database in uscita (che include anche i trigger) con un comando e quindi utilizzando il comando sopra per ottenere i dati, dovresti anche usare '--skip-triggers'.

Quindi se vuoi SOLO i dati:

mysqldump --no-create-info --skip-triggers
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.