Comment utiliser mysqlimport pour lire le résultat de mysqldump -- bases de données
j'ai réussi à vider toute une base de données MySQL en utilisant
mysqldump --databases
génération d'une belle .fichier txt. Cependant, je ne vois pas comment lire tout le fichier de nouveau dans MySQL en une seule fois; mysqlimport semble vouloir juste une table à la fois.
3 réponses
Lorsque vous avez généré un fichier (disons db-dump.sql
)mysqldump
, vous pouvez les importer dans votre base de données avec le mysql
commande :
mysql --user=XXX --password=XXX --host=YOUR_HOST DATABASE_NAME < db-dump.sql
Et, si vous ne voulez pas le mot de passe d'apparaître dans une commande, vous pouvez utiliser :
mysql --user=XXX -p --host=YOUR_HOST DATABASE_NAME < db-dump.sql
En tant que sidenote, si vous voulez copier un DB à un autre, vous n'avez pas besoin d'utiliser un fichier, et pouvez simplement directement pipe la sortie de mysqldump
mysql
:
mysqldump --user=XXX --password=XXX --host=SOURCE_HOST SOURCE_DB | mysql --user=XXX --password=XXX --host=DESTINATION_HOST DESTINATION_DB
(il devrait même être plus rapide, car vous n'utilisez pas un fichier temporaire qui réside sur le disque)
je le fais souvent:
mysqldump -u username -p databasename > dump.sql
charger:
mysql -u username -p targetdatabasename < dump.sql
Switch -p
indique la base de données vous invite à entrer le mot de passe pour l'utilisateur username
une fois la commande lance.
Votre question est probablement double.
vous pouvez simplement utiliser 'source' dans le client mysql:
source dumpfile.sql
Ou directement en ligne de commande:
mysql -u user -p password database < source dumpfile.sql
c'est parce que le résultat de mysqldump est juste un fichier SQL qui peut être exécuté via mysql comme d'habitude.