Antworten:
mysqldump --no-create-info ...
Sie können auch verwenden:
--skip-triggers
: Wenn Sie Trigger verwenden--no-create-db
: Wenn Sie die --databases ...
Option verwenden--compact
: wenn Sie zusätzliche Kommentare loswerden möchtenmysqldump -u USERNAME -h HOST --no-create-info --skip-triggers YOURDATABASENAME YOURTABLENAME --where='id=12345678'
Access denied for user ... to database '...' when doing LOCK TABLES
, verwenden Sie--single-transaction
--where
. Zum Beispiel--where="id=2"
Das sollte funktionieren:
# 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
HINWEIS: Zwischen -p
& steht kein Leerzeichen[pass]
--no-create-db
ist redundant bei der Verwendung--no-create-info
-p
ist in Ordnung
ps -ef
-p
Option mysqldump
weglassen, werden Sie zur Eingabe des Kennworts aufgefordert.
>> man -k mysqldump [enter in the terminal]
Sie finden die folgende Erklärung
--no-create-info, -t
Schreiben Sie keine CREATE TABLE-Anweisungen, die jede ausgegebene Tabelle neu erstellen. Hinweis Diese Option schließt Anweisungen zum Erstellen von Protokolldateigruppen oder Tabellenbereichen nicht aus der Ausgabe von mysqldump aus. Zu diesem Zweck können Sie jedoch die Option --no-tablespaces verwenden.
--keine Daten, -d
Schreiben Sie keine Tabellenzeileninformationen (dh geben Sie keinen Tabelleninhalt aus). Dies ist nützlich, wenn Sie nur die Anweisung CREATE TABLE für die Tabelle sichern möchten (z. B. um eine leere Kopie der Tabelle durch Laden der Speicherauszugsdatei zu erstellen).
# 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
Würde vorschlagen, das folgende Snippet zu verwenden. Funktioniert auch mit großen Tabellen einwandfrei (sonst würden Sie den Dump im Editor öffnen und nicht benötigte Inhalte entfernen, oder ?;)
mysqldump --no-create-info --skip-triggers --extended-insert --lock-tables --quick DB TABLE > dump.sql
Zumindest MySQL 5.x erforderlich, aber wer läuft heutzutage mit alten Sachen .. :)
Speichern Sie die Daten einfach im abgegrenzten Textformat .
Beim Versuch, Daten mit der akzeptierten Antwort zu exportieren, wurde folgende Fehlermeldung angezeigt:
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'
Wie oben erwähnt:
mysqldump --no-create-info
Exportiert die Daten, exportiert aber auch die create trigger-Anweisungen. Wenn Sie wie ich Ihre Datenbankstruktur (die auch Trigger enthält) mit einem Befehl ausgeben und dann den obigen Befehl verwenden, um die Daten abzurufen, sollten Sie auch '--skip-triggers' verwenden.
Also, wenn Sie nur die Daten wollen:
mysqldump --no-create-info --skip-triggers