web-dev-qa-db-fra.com

Comment puis-je importer une base de données à l'aide de la ligne de commande?

J'utilise Ubuntu 14.04. Je veux importer ma base de données qui se trouve sur le serveur /var/www/backup.Zip. Aussi, j'ai un accès SSH en utilisant PuTTY. A noté que MySQL et phpMyadmin sont installés sur le serveur.

Quand je lance cette commande

mysql -u root -p spy < /var/www/backup.Zip

rien ne se passe. Une nouvelle ligne indique qui commence par ->.

Qu'est-ce que je devrais faire maintenant?

enter image description here

3
stack

Je crois que le format est:

mysql -u username -p database_name < /path/to/file.sql

Depuis mysql:

mysql> use db_name;
mysql> source backup-file.sql;
8
George Udosen

Le problème principal est que vous essayez d’exécuter une commande bash depuis mysql. Si vous exécutez cette commande au terminal habituel, le format de la commande est correct.

Le deuxième problème est que vous avez un fichier Zip et non un fichier SQL, vous devez donc le décompresser en premier.

Comment charger un fichier sql.gz dans ma base de données? (sur défaut du serveur) explique en grande partie ce dont vous avez besoin. Ma réponse devrait fonctionner ici aussi avec une légère modification:

unzip -p /var/www/backup.Zip | mysql -u root -p mydb

unzip -p décompresse dans un canal, de sorte que vous pouvez le diriger dans votre commande de base de données. Assurez-vous que le fichier Zip ne contient qu'un fichier SQL.

mysql -u root -p mydb va vous demander un mot de passe (le -p sans valeur), puis tenter de diriger les données du fichier vers mydb - remplacez le mydb par votre propre base de données. Vous ne devez pas spécifier le mot de passe dans la ligne de commande car il reste alors dans l'historique de vos commandes.

0
icc97