我有一个mysqldump文件,其中包含架构和数据转储。
我需要从sqldump中仅导入数据库模式。我尝试了以下命令:
mysql -uUSER -pPASSWORD < filename.sql
但没有任何帮助。它既可以导入模式也可以导入数据。
我该怎么做?
答案 0 :(得分:3)
如果您不想再次转储所有内容并且您只是需要它进行一些快速测试,您还可以使用
来欺骗非常脏grep -ve '^INSERT' dump.sql > dump-no-data.sql
不要将它用于生产环境。
答案 1 :(得分:2)
据我所知,你不能把它放在转储中,它会再插入。
您可以做的是使用-no-data
选项首先在没有数据的情况下转储数据库:
mysqldump -u username -p -h localhost –no-data database_name > dump.sql
答案 2 :(得分:1)
恕我直言,最简单的解决方案是在常规文本编辑器中打开转储并将CREATE TABLE ...
语句复制到另一个文件中。我甚至不在乎做其他任何事情。
如果这不是一个选项,无论出于什么原因,您只需创建一个新的转储,这次将结构和数据分成两个文件。
如果这也不是一个选项,你可以将转储加载到本地MySQL服务器从那里创建新的转储,或者使用像HeidiSQL这样的GUI工具将结构直接传输到目标服务器。
答案 3 :(得分:1)
如果你想试试这个:
mysql -u USER -pPASSWORD database < database_schema.sql