How do I restore one database from a mysqldump containing multiple databases?
I have a mysql dump with 5 databases and would like to know if there is a way to import just one of开发者_JS百科 those (using mysqldump or other).
Suggestions appreciated.
You can use the mysql command line --one-database option.
mysql> mysql -u root -p --one-database YOURDBNAME < YOURFILE.SQL
Of course be careful when you do this.
You can also use a mysql dumpsplitter.
You can pipe the dumped SQL through sed and have it extract the database for you. Something like:
cat mysqldumped.sql | \
sed -n -e '/^CREATE DATABASE.*`the_database_you_want`/,/^CREATE DATABASE/ p' | \
sed -e '$d' | \
mysql
The two sed commands:
- Only print the lines matching between the
CREATE DATABASElines (including bothCREATE DATABASElines), and - Delete the last
CREATE DATABASEline from the output since we don't want mysqld to create a second database.
If your dump does not contain the CREATE DATABASE lines, you can also match against the USE lines.
加载中,请稍侯......
精彩评论