1.11M Members

Trouble restoring database backed with mysqldump


Hi friends!
I have some trouble restoring a mysql database that I backed up with mysqldump. I have been trying to do this from a command prompt (Windows)

This is my code:

mysql -u root -pPassword databasename < C:\Backup\databaseNameToBeRestored.sql

With this, I get the message that "mysql" is not recognized as internal or external or external command, operable program or batch file.

I added "" to get "mysql -u root -pPassword databasename < C:\Backup\databaseNameToBeRestored.sql" But to this I get error message "The filename, directory name, or volume lable syntax is incorrect"

This man here said the code I tried worked for him.

Any help please? (and if you don't mind, I would appreciate if somebody could told me why changing > to < in the mysqldump command does not work 100% in restoring the backed database)


go to the folder where mysql.exe exists and execute the command there


As to your second question: mysqldump only exports information (hence the "dump" postfix). It was never designed to receive input, that's why it doesn't work.


take a look at http://adityangoyal.blogspot.in/2013/04/importexport-mysql-database.html .I have explained how to import and export mysql database.
* As what i can see,the error you are getting is because you have to set the path of mysql.exe in your system environment variable.
Go to System properties->Environment variable.In system varaiable->path.At end add semicolon and add the path of mysql.exe(location of mysql.exe eg:C:\Program Files\MySQL\MySQL Server 5.5\bin)
* Using command prompt go till the location of mysql.exe and then run above command


Try this..

mysqldump -u username -p databasename < C:\Backup\databaseNameToBeRestored.sql

We always change from < to > because
when we use "<" we are importing a file to our database.
And on the other hand when we use ">" we are exporting.
that's it!!

Happy coding.


imBaCodes, there I had tried that, and there something that I could not figure out:
-I backed up a database successfully with mysqldump.
-In my live database, I deleted one user from a table that contained users information.
-I restored the database (with the same codes as you gave me) from the backup I created in step one. The command prompt shows that everything went well.
-Now I accessed the database to see if the record/user I deleted is back (since I restored the backup that contained him), the user WAS NOT THERE.
-I tried the same thing over and over, no success. I wonder what this is.
Can you explain that imBaCodes?


Thanks all,
I had tried to include the full path to my code. For my case, the code would be,

"C:\Program Files\MySQL\MySQL Server 5.5\mysql -u root -pMyPassword databasename < C:\Backup\databasename.sql"

But then it would say, "The filename, directory name, or volume lable syntax is incorrect"

I also tried:

"C:\Program Files\MySQL\MySQL Server 5.5\mysql" -u root -pMyPassword databasename < C:\Backup\databasename.sql


"C:\Program Files\MySQL\MySQL Server 5.5\mysql" --u root --pMyPassword databasename < C:\Backup\databasename.sql

With no success.

I would appreciate further help please.


instead of backward slash(), try forward slash(/) in your location.

mysql --u root --pMyPassword databasename < C:/Backup/databasename.sql

Note:-I hope that you are also following the steps i told in my first comment,otherwise you will get mysql is not recognised as internal command error


Now I don't know why I get "ERROR :2003(HY000):Can't connect to mysql...on localhost?

I use a different port for mysql so I include it in the code:

mysql --u root --pMyPassword --h localhost --port 3301 databasename < C:/Backup/databasename.sql

More help please?


Check if your mysql service is running.Check if it's status is Started.Try by restarting the mysql service.
If it is still not working also check if firewall is not blocking the service to connect.


Do note that that there is a difference when specifying option with - versus --

mysql -u root -h localhost
mysql --user=root --host=localhost

Use one or the other. Read more.


Friends, I have kept on tying and trying. What's wrong with this one?

"C:\Program Files\MySQL\MySQL Server 5.5\mysql --user=root --password=password --host= localhost --port= 3306 --database=dbname < C:/Backup/dbname.sql"

I get "The filename, directory name, or volume lable syntax is incorrect" error messsage. I have googled for this error to no avail as to do with mysql.

  • My mysql server is up and running with no problem. (Even the mysqldump command works)
  • Problem is the same even if I open the command prompt from C:\Program Files\MySQL\MySQL Server 5.5\mysql
    *I have tried to remove "", did not help.

    For this one, I will really appreciate any help.


Use back slashes on windows, not forward slashes



Pixesoul, Sorry, I didn't say; I had tried:

"C:\Program Files\MySQL\MySQL Server 5.5\mysql --user=root --password=password --host= localhost --port= 3306 --database=dbname < C:\Backup\dbname.sql"

That, to no avail. I still get the error about filename,directory name..syntax error. Can you figure out where is the problem? I have tried this on XP and Win 7.


Hmm, you should be running it from bin. Try this with two different steps:

1) cd C:\Program Files\MySQL\MySQL Server 5.5\bin

2) mysql –uroot -ppassword -hlocalhost dbname < C:\Backup\dbname.sql


Thanks pixel, and ops, sorry, I had forgotten the /bin. I tried your two steps and, upon running the second one, it brought me lots of information about mysql version, Oracle...then it brough that list which is always brought to you when you miss a command. It brought me a lot of stuff, which I think, means that we missed something there in the second step. Can you figure it out please?

*Let me also declare that I'm looking for a script/code to take with me to an application I'm developing with VB.NET.


Can you attach the output that you get back from the second command? If it is too much to post in the thread you can attach a text file.


@savedlema:- you are not following all the instructions we are giving.In my first post i have given the path but you are not following it.
If you go to my blog,you will get everything you required.
In second just change backslash to forward

2) mysql –uroot -ppassword -hlocalhost dbname < C:/Backup/dbname.sql

cd C:\Program Files\MySQL\MySQL Server 5.5\bin

This step might be ignored if you have added this path to system variables.

Please read all the solution properly.


savedlema .. it did not work beacause we just imported .. It did not update the database you have ..
if you are using phpmyadin just upload your backup .. in that case you will not have a prblem in your data..

This question has already been solved: Start a new discussion instead
Start New Discussion
Tags Related to this Article