How can we restore mysql database with different name from mysqldump file. I dont't want to open dump file and edit it. Any other better methods?
You can let mysqldump create the dump in such a way that it does not create or select the database.
EXAMPLE : You are dumping the database db1 and loading it into database db2
This will put in the CREATE DATABASE and the USE commands in the dump
This will not put in the CREATE DATABASE and the USE commands in the dump (this is what you want)
You can load it into another database (such as db2) in one of four(4) ways:
Give it a Try !!!
I have done this once, long time ago.
When you export all your data, there is an option to set the database name in the begining of the file, something as: "use database x"
So, you can change this declaration.
Here is the shell script that will allow you to add suffix / affix to all the schema names on the fly.