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