【问题标题】:Import database schema导入数据库架构
【发布时间】:2011-09-15 09:46:27
【问题描述】:

我有一个 mysqldump 文件,其中包含架构和数据转储。

我只需要从我的 sqldump 导入数据库模式。我尝试了以下命令:

mysql -uUSER -pPASSWORD < filename.sql

但无济于事。它同时导入架构和数据。

我该怎么做?

【问题讨论】:

  • 你希望mysql选择性地忽略filename.sql中的SQL代码吗?
  • 首先确保你只备份了 schema ,导入的命令是一样的。

标签: mysql import schema


【解决方案1】:

据我所知,您不能将其视为在转储中,它将再次插入。

您可以做的是首先使用-no-data 选项转储没有数据的数据库:

mysqldump -u username -p -h localhost –no-data database_name &gt; dump.sql

【讨论】:

    【解决方案2】:

    恕我直言,最简单的解决方案是在常规文本编辑器中打开转储文件并将CREATE TABLE ... 语句复制到另一个文件中。我什至不会关心做任何其他事情。

    如果出于某种原因这不是一个选项,您可以简单地创建一个新的转储,这次将结构和数据分离到两个文件中。

    如果这也不是一个选项,您可以将转储加载到本地 MySQL 服务器并从那里创建新的转储,或使用 HeidiSQL 等 GUI 工具将结构直接传输到目标服务器。

    【讨论】:

      【解决方案3】:

      如果你想试试这个:

      mysql -u USER -pPASSWORD database < database_schema.sql
      

      【讨论】:

        【解决方案4】:

        以防万一您不想再次转储所有内容并且只需要它进行一些快速测试,您也可以使用 very 作弊

        grep -ve '^INSERT' dump.sql > dump-no-data.sql
        

        不要在生产环境中使用它。

        【讨论】:

          猜你喜欢
          • 2013-09-13
          • 1970-01-01
          • 1970-01-01
          • 2016-10-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多