J'ai un fichier de vidage sql .gz (exemple: foo.sql.gz) que je veux importer dans ma base de données avec la commande mysql classique.
gunzip -c foo.sql.gz > foo.sql
mysql -uroot -ppassword foo < foo.sql
foo est la base de données.
Comment puis-je diriger ces deux commandes en une seule?
A tenté
gunzip -c foo.sql.gz | mysql -uroot -ppassword foo
mais ne semble pas fonctionner; Je reçoisgzip: stdout: Broken pipe
Réponses:
Cela restera également
foo.sql.gz
tel quel.la source
Pour ceux sur Max OSX, il y a un bug avec
zcat
vous devrez donc utiliser à lagzcat
place.la source
Toutes les autres réponses recommandent d'écrire le mot de passe dans la commande. Il s'agit d'une très mauvaise pratique et présente des risques pour la sécurité. Veuillez NE PAS FAIRE cela.
Vous pouvez laisser le mot de passe vide dans la commande, il vous demandera de saisir le mot de passe de manière interactive. De cette façon, le mot de passe n'est pas enregistré dans l'historique de bash.
la source