5

我正在尝试使用 mysqldump 命令转储大型​​数据库。我想避免在生成的 sql 文件中使用“使用数据库”命令。这是因为我想创建具有不同名称的相同数据库。由于 sql 文件很大,我无法打开 sql 文件并对其进行编辑。

我试过 --no-create-db 但我仍然在转储文件中获得使用命令

请帮忙。

4

4 回答 4

9

也许你用过这样的东西:

mysqldump -u -p <other options> --database your_database > file.sql

我发现当您使用时--database,脚本是使用“使用您的数据库”行生成的。所以,不要使用那个选项,这条线就消失了:

mysql -u -p <other options> your_database > file.sql
于 2011-04-09T13:46:49.813 回答
1

您可能应该在 serverfault 上发布此内容,但如果您使用的是 linux 机器,则可以考虑使用 sed(或 perl/python 脚本)替换数据库名称,或删除“use”行。

于 2010-01-11T10:11:58.303 回答
1

这样做的方法是为每个数据库运行一次 mysqldump。我这样做的方式是mysqldump -u user -p --tables databasename。这会转储数据库的所有表并删除USE数据库语句。

于 2010-01-13T04:31:31.567 回答
0

--no-create-db 是你的朋友:

http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html#option_mysqldump_no-create-db

于 2010-01-11T10:14:08.773 回答