Risposte:
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 extramysqldump -u USERNAME -h HOST --no-create-info --skip-triggers YOURDATABASENAME YOURTABLENAME --where='id=12345678'
Access denied for user ... to database '...' when doing LOCK TABLES
, usa--single-transaction
--where
. Ad esempio,--where="id=2"
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]
--no-create-db
è ridondante quando si utilizza--no-create-info
-p
va bene
ps -ef
)
-p
opzione mysqldump
richiede la password.
>> 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
Se si desidera solo le query INSERT, utilizzare quanto segue:
mysqldump --skip-triggers --compact --no-create-info
--compact
quale ti
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 .. :)
Scarica semplicemente i dati in formato testo delimitato .
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