【问题标题】:How to use mysqlimport to read in result of mysqldump --databases如何使用 mysqlimport 读取 mysqldump --databases 的结果
【发布时间】:2011-01-18 21:11:45
【问题描述】:

我已经成功转储了整个 MySQL 数据库,使用

mysqldump --databases

生成一个漂亮的 .txt 文件。但是,我看不到如何一次将整个文件读回 MySQL; mysqlimport 似乎一次只需要一张表。

【问题讨论】:

    标签: mysql mysqldump mysqlimport


    【解决方案1】:

    我经常这样做:

    mysqldump -u username -p databasename > dump.sql
    

    加载:

    mysql -u username -p  targetdatabasename < dump.sql
    

    开关-p 指示数据库在命令启动后提示您输入用户username 的密码。

    你的问题可能是重复的。

    【讨论】:

      【解决方案2】:

      您可以在 mysql 客户端中使用“源”:

      source dumpfile.sql
      

      或者直接从命令行提供:

      mysql -u user -p password database < source dumpfile.sql
      

      这是因为mysqldump的结果只是一个SQL文件,可以像往常一样通过mysql运行。

      【讨论】:

        【解决方案3】:

        当您使用mysqldump 生成一些文件(例如db-dump.sql 后,您可以使用mysql 命令将其导入其他数据库:

        mysql --user=XXX --password=XXX --host=YOUR_HOST DATABASE_NAME < db-dump.sql
        


        而且,如果您不希望密码出现在命令中,您可以使用:

        mysql --user=XXX -p --host=YOUR_HOST DATABASE_NAME < db-dump.sql
        


        作为旁注,如果你想将一个数据库复制到另一个数据库,你不需要使用文件,可以直接将mysqldump 的输出通过管道传输到mysql

        mysqldump --user=XXX --password=XXX --host=SOURCE_HOST SOURCE_DB | mysql --user=XXX --password=XXX --host=DESTINATION_HOST DESTINATION_DB
        

        (它甚至应该更快,因为您没有使用驻留在磁盘上的临时文件)

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-29
        • 1970-01-01
        • 2017-09-16
        • 2018-05-15
        • 1970-01-01
        相关资源
        最近更新 更多