84 votes

Importer une image SQL dans MySQL

Je suis confus comment importer un dump SQL de fichier.

Je n'arrive pas à importer la base de données sans la création de la première base de données dans MySQL. C'est l'erreur affichée lors de l' database_name n'a pas encore été créé:

username = nom d'utilisateur de la personne qui a accès à la base de données sur le serveur d'origine.
database_name = nom de la base de données à partir du serveur d'origine

$ mysql -u username -p -h localhost database_name < dumpfile.sql   
Enter password:  
ERROR 1049 (42000): Unknown database 'database_name'

Si je me connecte à MySQL en tant que root et créer la base de données, database_name

mysql -u root  
create database database_name;  
create user username;# same username as the user from the database I got the dump from.  
grant all privileges on database_name.* to username@"localhost" identified by 'password';  
exit mysql

essayez ensuite d'importer le dump sql de nouveau:

$ mysql -u username -p database_name < dumpfile.sql  
Enter password:  
ERROR 1007 (HY000) at line 21: Can't create database 'database_name'; database exists

Comment suis-je censé importer le SQL dumpfile?

49voto

Max Kielland Points 1855

C'est un bug connu à MySQL.

bug 42996
bug 40477

Comme vous pouvez le voir, cela a été un problème connu depuis 2008 et ils n'ont pas encore réalisé!!!

TRAVAIL AUTOUR DE
Vous devez d'abord créer la base de données à importer. Il n'a pas besoin de toutes les tables. Ensuite, vous pouvez importer votre base de données.

  1. premier démarrage de votre serveur MySQL en ligne de commande (nom d'utilisateur et le mot de passe si vous avez besoin)
    C:\>mysql -u user -p

  2. Créer votre base de données et de sortie

    mysql> DROP DATABASE database;  
    mysql> CREATE DATABASE database;  
    mysql> Exit  
    
  3. Importer votre base de données sélectionnée à partir du fichier de vidage
    C:\>mysql -u user -p -h localhost -D database -o < dumpfile.sql

Vous pouvez remplacer localhost par l'IP ou le domaine pour n'importe quel serveur MySQL que vous souhaitez importer. La raison de la CHUTE de commande dans l'invite mysql est pour être sûr que nous commençons avec un vide et propre base de données.

39voto

Bjorn Tipling Points 16243

Ouvrez le fichier SQL et commentez la ligne qui tente de créer la base de données existante.

12voto

Paul Tomblin Points 83687

On dirait que votre dump de la base de données contient les informations pour créer la base de données. Donc ne donnez pas un nom de base de données la ligne de commande MySQL. Il va créer la nouvelle base de données et basculer vers lui de faire l’importation.

4voto

MaysaM Points 11

Si vous créez votre base de données en direct admin ou cpanel, vous devez modifier votre sql avec le bloc-notes ou notepad ++ et changement commande à en line22

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X