web-dev-qa-db-fra.com

données mysqldump uniquement

Je cherche la syntaxe pour vider toutes les données de ma base de données mysql. Je ne veux aucune information de table.

272
Lizard

mysqldump --no-create-info ...

Si vous utilisez des déclencheurs, vous devez également inclure --skip-triggers

Et si vous utilisez l'option --databases ..., vous devez également inclure --no-create-db

497
matei

Cela devrait fonctionner:

# 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

NOTE: il n'y a pas d'espace entre -p & [pass]

136
Ish
 >> man -k  mysqldump [enter in the terminal]

vous trouverez l'explication ci-dessous

--no-create-info, -t

N'écrivez pas d'instructions CREATE TABLE qui recréent chaque table vidée. Note Cette option n'exclut pas les instructions créant des groupes de fichiers journaux ou des espaces de table à partir de la sortie de mysqldump; Cependant, vous pouvez utiliser l'option --no-tablespaces à cette fin.

--no-data, -d

N'écrivez aucune information sur les lignes de la table (c'est-à-dire, ne videz pas le contenu de la table). Cela est utile si vous souhaitez sauvegarder uniquement l'instruction CREATE TABLE pour la table (par exemple, pour créer une copie vide de la table en chargeant le fichier de vidage).

# 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
20
Angelin Nadar

Si vous voulez juste les requêtes INSERT, utilisez ce qui suit:

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

13
Jonathan

Suggérerait d'utiliser l'extrait suivant. Fonctionne très bien même avec des tables énormes (sinon, vous ouvriez le dump dans l'éditeur et supprimiez les éléments inutiles, non?;)

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

Au moins mysql 5.x requis, mais qui gère les anciennes choses de nos jours .. :)

2
wuzer

En essayant d'exporter des données en utilisant la réponse acceptée, j'ai eu une erreur:

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'

Comme mentionné ci-dessus:

mysqldump --no-create-info

Exportera les données, mais exportera également les instructions create trigger. Si, comme moi, votre structure de base de données en sortie (qui inclut également des déclencheurs) avec une commande, puis utilisez la commande ci-dessus pour obtenir les données, vous devez également utiliser '--skip-triggers'.

Donc, si vous voulez juste les données:

mysqldump --no-create-info --skip-triggers
0
Ben Waine

Il suffit de vider les données au format format texte délimité .

0
Frank Heikens

Essayez de sauvegarder dans un fichier délimité.

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