web-dev-qa-db-fra.com

Importer un fichier SQL dans mysql

J'ai une base de données appelée nitm. Je n'ai créé aucune table ici. Mais j'ai un fichier SQL qui contient toutes les données nécessaires à la base de données. Le fichier est nitm.sql qui se trouve dans C:\ drive. Ce fichier a une taille d'environ 103 MB. J'utilise le serveur Wamp.

J'ai utilisé la syntaxe suivante dans la console MySQL pour importer le fichier:

mysql>c:/nitm.sql;

Mais cela n'a pas fonctionné.

183

Enfin, j'ai résolu le problème. J'ai placé le fichier `nitm.sql` dans le fichier` bin` du dossier `mysql` et utilisé la syntaxe suivante.

C:\wamp\bin\mysql\mysql5.0.51b\bin>mysql -u root nitm < nitm.sql

Et cela a fonctionné.

90

Depuis la console mysql:

mysql> use DATABASE_NAME;

mysql> source path/to/file.sql;


assurez-vous qu'il n'y a pas de barre oblique avant chemin si vous vous référez à un chemin relatif ... il m'a fallu un certain temps pour m'en rendre compte! lol

400
d-_-b

Si vous utilisez wamp, vous pouvez essayer ceci. Il suffit de taper use your_Database_name en premier.

  1. Cliquez sur l'icône de votre serveur wamp puis recherchez MYSQL > MSQL Console puis exécutez-le.

  2. Si vous n'avez pas de mot de passe, appuyez simplement sur Entrée et tapez:

    mysql> use database_name;
    mysql> source location_of_your_file;
    

    Si vous avez un mot de passe, vous devrez entrer un mot de passe. Entrez votre mot de passe en premier, puis tapez:

    mysql> use database_name;
    mysql> source location_of_your_file;
    

location_of_your_file devrait ressembler à C:\mydb.sql

la recommandation est donc mysql> source C:\mydb.sql;

Ce type d'importation SQL est très utile pour BIG SQL FILE.

J'ai copié mon fichier mydb.sq dans le répertoire C:. Il devrait s'agir d'un C majuscule pour pouvoir être exécuté.

et c'est tout.

Dans Windows, si la suggestion ci-dessus vous donne une erreur (fichier non trouvé ou base de données inconnue), vous voudrez peut-être doubler les barres obliques:

Dans la console mysql:

mysql> use DATABASE_NAME;

mysql> source C://path//to//file.sql;
24
user3219217

D'accord, j'utilise Linux, mais je pense que cela vaut également pour Windows. Vous pouvez le faire soit directement à partir de la commande Invite.

> mysql -u <user name> -p<password> <database name> < sqlfilename.sql

Ou à partir de l'invite mysql, vous pouvez utiliser:

mysql>source sqlfilename.sql

Mais ces deux approches ont leurs propres avantages dans les résultats qu’elles affichent. Dans la première approche, le script se termine dès qu'il rencontre une erreur. Et le meilleur, c'est qu'il vous indique le numéro de ligne exact dans le fichier source où l'erreur s'est produite. Cependant, il affiche UNIQUEMENT les erreurs. S'il ne rencontre aucune erreur, le script n'affiche rien. Ce qui peut être un peu énervant. Parce que vous exécutez le plus souvent un script avec une pile de commandes.

La seconde approche (depuis l'invite mysql) présente l'avantage d'afficher un message pour chaque commande MySQL différente dans le script. S'il rencontre des erreurs, il affiche le message d'erreur mysql mais continue à travers les scripts. Cela peut être utile, car vous pouvez alors corriger toutes les erreurs avant de réexécuter le script. L'inconvénient est qu'il n'affiche PAS les numéros de ligne dans le script où les erreurs ont été rencontrées. Cela peut être un peu pénible. Mais les messages d'erreur sont aussi descriptifs que vous pourriez probablement trouver où le problème est.

Pour ma part, je préfère l'approche en ligne de commande directement à partir du système d'exploitation.

17
peterb

Si vous utilisez xampp

C:\xampp\mysql\bin\mysql -uroot -p nitm < nitm.sql
9
Nanhe Kumar

Vous êtes presque là utiliser

mysql> \. c:/nitm.sql;

Vous pouvez également accéder à l'aide de

mysql> \?
7
Lmwangi

Pour localhost sur XAMPP. Ouvrez une fenêtre de commande et tapez

cd C:\xampp\mysql\bin
mysql.exe -u root -p

Attention! Pas de point-virgule après -p Entrez votre mot de passe et tapez

use database_name;

pour sélectionner la base de données dont vous avez besoin.

Vérifiez si votre table est là

show tables;

Importer à partir de votre fichier SQL

source sqlfile.sql;

J'ai mis mon fichier sur l'emplacement C:\xampp\mysql\bin afin de ne pas confondre avec les emplacements du fichier SQL.

6
Adrian P.

Essayer:

mysql -u username -p database_name < file.sql

Vérifiez Options MySQL .

Remarque: Il est préférable d’utiliser le chemin complet du fichier SQL file.sql.

3
Akshay Pethani

Sous Linux, j'ai navigué jusqu'au répertoire contenant le fichier .sql avant de démarrer mysql. Le curseur système se trouve maintenant au même emplacement que le fichier et vous n’avez plus besoin d’un chemin. Utilisez source myData.sql où ma date est remplacée par le nom de votre fichier.

cd whatever directory

mysql - p

connecter targetDB

source myData.sql

Terminé

3
Robert Quinn

N'oubliez pas d'utiliser

charset utf8

Si votre fichier SQL est en utf-8 :)

Donc vous devez faire:

cmd.exe

mysql -u root

mysql> charset utf8

mysql> use mydbname

mysql> source C:\mon dossier\monfichier.sql

Bonne chance ))

Votre vidage contient-il des fonctionnalités qui ne sont pas prises en charge dans votre version de MySQL? Vous pouvez également essayer de supprimer les instructions SET commentées de début et de fin de MySQL.

Je ne sais pas si votre dump provient d'une version Linux de MySQL (fins de lignes)?

2
Maickel

J'ai installé mon serveur Wamp dans le lecteur D: vous devez donc aller dans le chemin suivant depuis la ligne de commande ur -> (et si vous avez installé votre wamp dans le lecteur c: remplacez simplement le d: par c: ici)

D:\>cd wamp
D:\wamp>cd bin
D:\wamp\bin>cd mysql
D:\wamp\bin\mysql>cd mysql5.5.8 (whatever ur verserion will be displayed here use keyboard Tab button)
D:\wamp\bin\mysql\mysql5.5.8>cd bin
D:\wamp\bin\mysql\mysql5.5.8\bin>mysql -u root -p password db_name < "d:\backupfile.sql"

ici root est l'utilisateur de mon phpmyadmin mot de passe est le mot de passe de phpmyadmin donc si vous n'avez pas défini de mot de passe pour root, tapez rien à cet endroit, nom_bdd est la base de données (pour laquelle la base de données prend la sauvegarde), backupfile.sql est le fichier à partir duquel vous voulez sauvegarder votre base de données et vous pouvez également modifier l'emplacement du fichier de sauvegarde (d:\backupfile.sql) de tout autre endroit sur votre ordinateur

2
Sachin

à partir de la ligne de commande (cmd.exe, pas à partir de mysql Shell), essayez quelque chose comme:

type c:/nite.sql | mysql -uuser -ppassword dbname
2
Omry Yadan
mysql>c:/nitm.sql;

Cela écrirait le résultat de la commande mysql en 'nitm.sql;' (Qu'est-ce que le ';' est supposé faire?) En supposant que vous ayez une copie du fichier original (avant de l'écraser), alors:

mysql < c:/nitm.sql
1
symcbean

Exporter des bases de données particulières

 djimi:> mysqldump --user=root --Host=localhost --port=3306 --password=test -B CCR KIT >ccr_kit_local.sql

cela exportera les bases de données CCR et KIT ...

Importer toutes les bases de données exportées dans une instance particulière de Mysql (vous devez être à l'emplacement de votre fichier de vidage)

djimi:> mysql --user=root --Host=localhost --port=3306 --password=test < ccr_kit_local.sql
1
Musa

Pour ceux d'entre vous qui ont du mal à le faire, essayez toutes les réponses possibles sur SO. Voici ce qui a fonctionné pour moi sur un VPS exécutant Windows 2012 R2:

  1. Placez votre fichier SQL où que le bac soit pour moi, il se trouve à C:\Program Files\MySQL\MySQL Server 8.0\bin

  2. Ouvrir la commande windows Invite (cmd)

  3. Exécuter C:\Program Files\MySQL\MySQL Server 8.0\bin > mysql -u [username] -p
  4. Tapez votre mot de passe
  5. Exécutez la commande use [database_name];
  6. Importez votre fichier avec la source de commande C://Program Files//MySQL//MySQL Server 8.0//bin//mydatabasename.sql

Ça l'a fait pour moi car tout le reste avait échoué. Cela pourrait vous aider aussi.

0
user45678

Sous Windows, les commandes suivantes fonctionnent pour moi.

mysql>Use <DatabaseName>
mysql>SOURCE C:/data/ScriptFile.sql;

Pas de guillemets simples ni de guillemets doubles autour du nom du fichier. Le chemin contiendrait '/' au lieu de '\'.

0
Pabitra Dash