【问题标题】:Restore MYSQL Dump File with Command Line使用命令行恢复 MYSQL 转储文件
【发布时间】:2011-07-22 17:35:23
【问题描述】:

我有 file.sql,我想恢复它。我找到了这个命令:

mysql -u username -p database_name < file.sql

我应该把'file.sql'放在文件系统的什么地方?我正在使用 Windows 和 XAMPP。谢谢。

*) 转储文件为 3GB++

【问题讨论】:

标签: mysql xampp


【解决方案1】:

你可以把它放在任何地方,当然只要有足够的可用磁盘空间。

/tmp(在 linux 或类似平台上)或 c:\temp(在 Windows 或类似平台上)是一个好地方

但假设您使用了确切的行,您需要将工作目录更改为保存文件的目录。

cd /path/where/sql/file/is

然后

mysql -u username -p database_name < file.sql

如果您的 PATH 中没有 mysql bin,您可能需要运行

/path/to/mysql/bin/mysql -u username -p database_name < file.sql

或者暂时把file.sql放到mysql bin目录下(不推荐)

另一种可能的情况是像这样指向文件系统中的文件

mysql -u username -p database_name < /path/where/sql/file/is/file.sql

PS。如果您在 Windows 上,您可能希望将正斜杠更改为反斜杠。

【讨论】:

    【解决方案2】:

    您需要使用以下命令指向文件的位置:

    mysql -u username -p database_name < drive:\\path_to_your_file\file.sql
    

    【讨论】:

      【解决方案3】:

      你可以放在系统中的任何地方,但也可以考虑更改命令

      mysql -u username -p database_name < /somepath/file.sql
      

      【讨论】:

      • 收到此错误“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册以了解在附近使用的正确语法”
      【解决方案4】:

      作为替代方法,尝试使用还原或执行大型脚本向导来还原转储 向导。

      有命令行支持。

      Backup or restore

      【讨论】:

        【解决方案5】:

        最好的选择是

        1) 通过 Start -> Run -> Command 或任何方式打开命令提示符 2) 更改保存 file.sql 的目录,例如 C:\temp\file.sql,因此您的命令提示符应如下所示

        C:\temp> 
        

        3) 现在试试这些命令

        mysql -u root -p database_name < file.sql
        

        【讨论】:

          【解决方案6】:

          当我执行这个线程的答案时,它返回'mysql' is not recognized as an internal or external command, operable program or batch file.

          原来我得先在xampp/mysql/bin文件夹下执行mysql.exe,而且dump文件路径是相对于这个bin文件夹的。我把我的放在那里,它起作用了。

          谢谢大家。

          【讨论】:

          • 发生这种情况是因为您的环境变量中没有 mysql.exe。有关 MySQL 导入/导出的更多信息:wpy.me/en/blog/…
          【解决方案7】:

          您也可以使用 phpmyadmin 恢复转储,但您必须确保它必须是 .sql 文件。

          第二种方法是如果你是 linux 用户而不是使用命令行来恢复转储文件。

          mysql> mysql -uuser_name -ppassword table_name /to/dump_file.sql

          【讨论】:

            【解决方案8】:

            输入以下命令导入sql数据文件:

            $ mysql -u username -p -h localhost DATA-BASE-NAME < data.sql
            

            在本例中,使用 vivek 作为用户名将“data.sql”文件导入“博客”数据库:

            $ mysql -u sat -p -h localhost blog < data.sql
            

            如果您有专用的数据库服务器,请将 localhost 主机名替换为实际的服务器名称或 IP 地址,如下所示:

            $ mysql -u username -p -h 202.54.1.10 databasename < data.sql
            

            或使用 mysql.cyberciti.biz 等主机名

            $ mysql -u username -p -h mysql.cyberciti.biz database-name < data.sql
            

            如果您不知道数据库名称或数据库名称包含在 sql 转储中,您可以尝试以下方法:

            $ mysql -u username -p -h 202.54.1.10 < data.sql
            

            参考:http://dev.mysql.com/doc/refman/5.6/en/mysqldump.html

            【讨论】:

              【解决方案9】:
              Import Database
              1. Go to drive
              command: d:
              2. Mysql login
              command: c:\xampp\mysql\bin\mysql -u root -p
              3. Will ask for pwd: enter it
              pwd
              4. Select db
              use DbName;
              5. Provide file name
              \. G:DbName.sql
              

              【讨论】:

              • +1 我可能会建议添加关于CREATE DATABASE DbName; 的步骤 3.1 我不确定您是否可以继续执行步骤 4,除非 DbName 已经存在。我可能会添加的唯一其他花絮是--port 9999 (如果 MySQL 不在默认端口 3306 上,则 9999 是您的特定端口 - 我的不在)。 如果您正在寻找脚本解决方案,这里有更好的答案,但是手动进行,这是正确的。
              猜你喜欢
              • 1970-01-01
              • 2020-06-07
              • 2011-02-13
              • 1970-01-01
              相关资源
              最近更新 更多