Je cherche la syntaxe pour vider toutes les données de ma base de données mysql. Je ne veux aucune information de table.
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
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]
>> 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
Si vous voulez juste les requêtes INSERT, utilisez ce qui suit:
mysqldump --skip-triggers --compact --no-create-info
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 .. :)
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
Il suffit de vider les données au format format texte délimité .
Essayez de sauvegarder dans un fichier délimité.
mysqldump -u [username] -p -t -T/path/to/directory [database] --fields-enclosed-by=\" --fields-terminated-by=,