我正在尝试使用mysqldump命令转储大型数据库。我想在生成的sql文件中避免使用'use database'命令。 这是因为我想用不同的名称创建相同的数据库。由于sql文件很大,我无法打开sql文件并对其进行编辑。
我试过--no-create-db但我仍然在转储文件中使用use命令
请帮忙。
答案 0 :(得分:9)
也许你使用过这样的东西:
mysqldump -u -p <other options> --database your_database > file.sql
我发现当您使用--database
时,脚本是使用'use your_database'行生成的。所以,不要使用该选项,这条线就不见了:
mysql -u -p <other options> your_database > file.sql
答案 1 :(得分:1)
你应该在serverfault上发布这个,但是如果你在linux上,你可以考虑使用sed(或perl / python脚本)来替换数据库的名称,或者删除“use”行。
答案 2 :(得分:1)
执行此操作的方法是为每个数据库运行一次mysqldump。我这样做的方式是mysqldump -u user -p --tables databasename
。这会转储数据库的所有表,并删除USE
数据库语句。
答案 3 :(得分:1)
答案 4 :(得分:0)
- no-create-db是你的朋友:
http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html#option_mysqldump_no-create-db