Je ne sais pas comment importer un fichier de vidage SQL. Je n'arrive pas à importer la base de données sans créer d'abord la base de données dans MySQL.
Il s'agit de l'erreur affichée lorsqu'elle database_name
n'a pas encore été créée:
username
= nom d'utilisateur d'une personne ayant accès à la base de données sur le serveur d'origine.
database_name
= nom de la base de données 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ée 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
puis essayez à nouveau d'importer le vidage SQL:
$ 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 dois-je importer le fichier de vidage SQL?
mysql
sql
mysqldump
mysql-error-1049
mysql-error-1007
BryanWheelock
la source
la source
Il s'agit d'un bogue connu sur MySQL.
bogue 42996
bogue 40477
Comme vous pouvez le voir, c'est un problème connu depuis 2008 et ils ne l'ont pas encore résolu !!!
TRAVAIL AUTOUR
Vous devez d'abord créer la base de données à importer. Il n'a besoin d'aucune table. Ensuite, vous pouvez importer votre base de données.
commencez par démarrer votre ligne de commande MySQL (appliquez le nom d'utilisateur et le mot de passe si vous en avez besoin)
C:\>mysql -u user -p
Créez votre base de données et quittez
mysql> DROP DATABASE database; mysql> CREATE DATABASE database; mysql> Exit
Importez 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 une adresse IP ou un domaine pour tout serveur MySQL vers lequel vous souhaitez importer. La raison de la commande DROP dans l'invite mysql est d'être sûr que nous commençons avec une base de données vide et propre.
la source
Il semble que votre vidage de base de données inclut les informations nécessaires à la création de la base de données. Donc, ne donnez pas à la ligne de commande MySQL un nom de base de données. Il créera la nouvelle base de données et y basculera pour effectuer l'importation.
la source
Si vous créez votre base de données en direct admin ou cpanel, vous devez éditer votre sql avec notepad ou notepad ++ et changer la
CREATE DATABASE
commande enCREATE DATABASE IF NOT EXISTS
in line22la source
Je crée moi-même la base de données en utilisant la ligne de commande. Ensuite, essayez à nouveau d'importer, cela fonctionne.
la source