Based on your comments below your question, it sounds like you probably omitted the
--databases option when you used
mysqldump to backup the database.
If you backup the databases by doing
mysqldump <database-name>, then the backup does not re-create the database for you. When you restore from that backup, you need to create the database that you want to import into and then import into that database, which may or may not be the same name as the database you exported from earlier.
If you do not want to be required to do this, then, when creating your backup, you export like this:
mysqldump --databases <database-name>. Doing that, the backup will have the command to re-create the database when it is imported back into MySQL.
There are also other differences between those two usages. If you use the first version, then any symbols after the database name are considered table names to include in the backup. As in:
mysqldump MyDatabase Table1 Table2 Table3 to backup tables 1, 2, and 3, but no others.
In the second variation, all symbols after the initial database name are also treated as additional database names, so you can get multiple databases.
mysqldump --databases HRDatabase WebsiteDatabase DevTestDatabase That should export all three databases.
But back to the main point: next time you use
mysqldump, if you specify the
--databases option then you will not need to manually create the database and
use it before importing, as that would then be taken care of for you.