web-dev-qa-db-fra.com

Comment restaurer un fichier de vidage de mysqldump?

On m'a donné un fichier de base de données MySQL que je dois restaurer comme base de données sur mon ordinateur Windows Server 2008.

J'ai essayé d'utiliser l'administrateur de MySQL, mais j'ai eu l'erreur suivante:

Le fichier sélectionné a été généré par mysqldump et ne peut pas être restauré par cette application.

Comment puis-je obtenir ce travail?

471
Zack Peterson

Cela devrait être aussi simple que d’exécuter ceci: 

mysql -u <user> -p < db_backup.dump

Si le dump concerne une seule base de données, vous devrez peut-être ajouter une ligne en haut du fichier:

USE <database-name-here>;

S'il s'agissait d'un dump de nombreuses bases de données, les instructions d'utilisation s'y trouvent déjà.

Pour exécuter ces commandes, ouvrez une commande Invite (sous Windows) et cd dans le répertoire où se trouve l'exécutable mysql.exe partie d’un paquet comme WAMP). Une fois que vous êtes dans ce répertoire, vous devriez pouvoir taper simplement la commande telle que je l'ai ci-dessus.

505
Justin Bennett

Si la base de données que vous souhaitez restaurer n'existe pas déjà, vous devez d'abord la créer.

Sur la ligne de commande, si vous vous trouvez dans le même répertoire que le fichier vidé, utilisez ces commandes (avec les substitutions appropriées):

C:\> mysql -u root -p

mysql> create database mydb;
mysql> use mydb;
mysql> source db_backup.dump;
650
Dónal

Vous devez simplement exécuter ceci:

mysql -p -u[user] [database] < db_backup.dump

Si le vidage contient plusieurs bases de données, vous devez omettre le nom de la base de données:

mysql -p -u[user] < db_backup.dump

Pour exécuter ces commandes, ouvrez une commande Invite (sous Windows) et cd dans le répertoire où se trouve l'exécutable mysql.exe partie d’un paquet comme WAMP). Une fois dans ce répertoire, vous devriez être capable de taper simplement la commande.

204
vog
mysql -u username -p -h localhost DATA-BASE-NAME < data.sql

regardez ici - étape 3 : de cette façon vous n’avez pas besoin de la déclaration USE

55
womd

Lorsque nous créons un fichier de vidage avec mysqldump, il contient un gros script SQL permettant de recréer le contenu de la base de données. Nous le restaurons donc en démarrant le client en ligne de commande de MySQL:

mysql -uroot -p 

(où root est notre nom d'utilisateur administrateur pour MySQL), et une fois connecté à la base de données, nous avons besoin de commandes pour créer la base de données et lire le fichier:

create database new_db;
use new_db;
\. dumpfile.sql

Les détails varieront en fonction des options utilisées lors de la création du fichier de vidage.

32
pdc

Je l'ai fait fonctionner en suivant ces étapes…

  1. Ouvrez l'administrateur MySQL et connectez-vous au serveur

  2. Sélectionnez "Catalogues" à gauche

  3. Faites un clic droit dans la case en bas à gauche et choisissez "Créer un nouveau schéma"

    Administrateur MySQL http://img204.imageshack.us/img204/7528/adminsx9.th.gifagrandir l'image

  4. Nommez le nouveau schéma (exemple: "dbn")

    Nouveau schéma MySQL http://img262.imageshack.us/img262/4374/newwa4.th.gifagrandir l'image

  5. Ouvrir l'invite de commande Windows (cmd)

    Invite de commande Windows http://img206.imageshack.us/img206/941/startef7.th.gifagrandir l'image

  6. Change le répertoire en dossier d'installation MySQL

  7. Exécuter la commande:

    mysql -u root -p dbn < C:\dbn_20080912.dump
    

    … Où "root" est le nom de l'utilisateur, "dbn" est le nom de la base de données et "C:\dbn_20080912.dump" est le chemin/nom du fichier mysqldump .dump

    Ligne de commande MySQL dump restore http://img388.imageshack.us/img388/2489/cmdjx0.th.gifagrandir l'image

  8. Prendre plaisir!

14
Zack Peterson

Exécutez la commande pour entrer dans la base de données. 

 # mysql -u root -p 

Entrez le mot de passe de l'utilisateur, puis créez une nouvelle base de données. 

mysql> create database MynewDB;
mysql> exit

Et faites exit.Afetr that.Run cette commande

# mysql -u root -p  MynewDB < MynewDB.sql

Puis entrez dans la base de données et tapez

mysql> show databases;
mysql> use MynewDB;
mysql> show tables;
mysql> exit

Thats it ........ Votre dump sera restauré d'une base de données vers une autre.

Sinon, il existe un moyen alternatif de restaurer le vidage

# mysql -u root -p 

Puis entrez dans la base de données et tapez

mysql> create database MynewDB;
mysql> show databases;
mysql> use MynewDB;
mysql> source MynewDB.sql;
mysql> show tables;
mysql> exit
14
Javeed Shakeel

Vous pouvez essayer SQLyog "Exécuter le script SQL" pour importer des fichiers SQL/dump. 

enter image description here

12
Ashwin A

Si vous voulez voir la progression du dump, essayez ceci:

pv -i 1 -p -t -e/chemin/vers/sql/dump | mysql -u USERNAME -p DATABASE_NAME

Vous aurez bien sûr besoin de «pv» installé. Cette commande ne fonctionne que sur * nix.

10
Hengjie
./mysql -u <username> -p <password> -h <Host-name like localhost> <database-name> < db_dump-file
10
vkrishna17

Comme exemple spécifique d'une réponse précédente:

J'avais besoin de restaurer une sauvegarde pour pouvoir l'importer/la migrer vers SQL Server. J'ai installé MySql uniquement, mais je ne l'ai pas enregistré en tant que service, ni ajouté à mon chemin car je n'ai pas besoin de le laisser fonctionner. 

J'ai utilisé Windows Explorer pour mettre mon fichier de vidage dans C:\code\dump.sql. Ensuite, ouvrez MySql à partir de l’élément du menu Démarrer. Créé la base de données, puis exécuté la commande source avec le chemin complet, comme suit:

mysql> create database temp
mysql> use temp
mysql> source c:\code\dump.sql
9
Michael

En utilisant un fichier de dump de 200 Mo créé sous Linux pour restaurer sous Windows w/mysql 5.5, j’ai eu plus de succès avec

source file.sql

approche de l'invite mysql qu'avec le

mysql  < file.sql

approche sur la ligne de commande, qui a causé une erreur 2006 "le serveur est parti" (sur Windows)

Bizarrement, le service créé lors de l'installation (mysql) fait référence à un fichier my.ini qui n'existait pas. J'ai copié le "grand" exemple de fichier dans my.ini Que j'avais déjà modifié avec les augmentations conseillées. 

Mes valeurs sont

[mysqld]
max_allowed_packet = 64M
interactive_timeout = 250
wait_timeout = 250
7
Jerome_B

Vous ne pouvez pas utiliser le menu de restauration dans l’administrateur MySQL si la sauvegarde/le vidage n’a pas été créé à partir de là. Cela vaut le coup d'essayer. Si vous choisissez "d'ignorer les erreurs" avec la case à cocher, cela indiquera que l'opération s'est terminée avec succès, bien qu'elle se termine clairement avec seulement une fraction des lignes importées ... c'est avec un vidage, remarquez.

4
jerotas

Commande unique pour restaurer le code SQL généré à partir de mysqldump

mysql -u <username> -p<password> -e "source <path to sql file>;"
3
Jossef Harush

En supposant que vous ayez déjà créé la base de données vide, vous pouvez également restaurer une base de données à partir de la ligne de commande, comme suit:

Sudo mysql databasename < backup.sql
1
Suragch

Vous pouvez également utiliser le menu de restauration de l'administrateur MySQL. Il vous suffit d'ouvrir le fichier de sauvegarde, puis de cliquer sur le bouton de restauration.

1
user26087

Comment restaurer une base de données MySQL avec MySQLWorkbench

Vous pouvez exécuter la commande drop et créer des commandes dans un onglet de requête.

Supprimer le schéma s'il existe actuellement

DROP DATABASE `your_db_name`;

Créer un nouveau schéma

CREATE SCHEMA `your_db_name`;

Ouvrez votre fichier de vidage

 MySQLWorkbench open sql file

  1. Cliquez sur l'icône Ouvrir un script SQL dans un nouvel onglet de requête et choisissez votre fichier de vidage de la base de données.
  2. Puis cliquez sur Run SQL Script ...
  3. Il vous permettra ensuite de prévisualiser les premières lignes du script de vidage SQL.
  4. Vous choisirez ensuite le nom de schéma par défaut
  5. Ensuite, choisissez le jeu de caractères par défaut utf8 est normalement une valeur sûre, mais vous pourrez peut-être le distinguer en regardant les lignes de prévisualisation pour obtenir quelque chose comme character_set.
  6. Cliquez Run
  7. Soyez patient pour les scripts de restauration de base de données volumineux et observez la fusion de votre espace disque! ????
0
CTS_AE