Thursday 8 November 2018

Error importing SQL dump into MySQL: Unknown database / Can't create database


I'm confused how to import a SQL dump file. I can't seem to import the database without creating the database first in MySQL.
This is the error displayed when database_name has not yet been created:
username = username of someone with access to the database on the original server.
database_name = name of database from the original server
$ mysql -u username -p -h localhost database_name < dumpfile.sql   
Enter password:  
ERROR 1049 (42000): Unknown database 'database_name' 
If I log into MySQL as root and create the database, 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
then attempt to import the sql dump again:
$ mysql -u username -p database_name < dumpfile.sql  
Enter password:  
ERROR 1007 (HY000) at line 21: Can't create database 'database_name'; database exists
How am I supposed to import the SQL dumpfile?

 Answers



Open the sql file and comment out the line that tries to create the existing database.




It sounds like your database dump includes the information for creating the database. So don't give the MySQL command line a database name. It will create the new database and switch to it to do the import.




I create the database myself using the command line. Then try to import again, it works.

0 comments:

Post a Comment