这似乎是一个相当明显的function, mysql命令将包括,但我似乎无法把它钉在手册页上的任何地方。 我的问题是这样的:给定一个由mysqldump ... <databasename> > file.sql生成的数据库转储mysqldump ... <databasename> > file.sql你可以导入包含在一个单独的数据库中的所有表(以及表)吗? 我可能错过了一些明显的东西,我有点小菜,对不起。
当然:
mysql -uusername -ppassword -hdbserver someotherdatabasename < file.sql
有可能会有一些混淆,因为你使用mysqldump来提取,但mysql加载。 请注意, mysqldump命令的内容是SQL语句,因此您可以将其直接引导到命令行mysql命令中。 还是我误解你的问题?
如果只想转储表结构,请使用mysqldump -d ...创build转储文件。 这将排除你的转储的所有数据,只留下你可能select包括的结构和任何其他细节(触发器等)。
如果你遇到了转储问题,那么你可以使用一些文本parsing来find你的方式。 除了带有行返回的引用行外,通过grep -v '^INSERT'传递文件将删除将数据放入数据库的所有行。
如果在文本中存在行返回的情况下确实有更复杂的条目,则必须使用更多的正则expression式filter来parsing出不是有效的SQL命令的行。