在Windows 7中通过命令行导入SQL文件

38

我想要将一个大小大于500MB的SQL文件导入到数据库中。我在我的个人电脑上使用wamp。Phpmyadmin无法很好地处理这么大的文件。我已更改了php.ini中的所有参数(如max_upload_size等),但对我来说没有用。因此,我想通过命令行导入它。

我使用以下命令来导入文件:

mysql -u root -p sysdat < D:\Nisarg\ISPC\Database\sysdat.sql 
mysql -u root -p -D sysdat < D:\Nisarg\ISPC\Database\sysdat.sql
mysql -u root sysdat < D:\Nisarg\ISPC\Database\sysdat.sql -p 

这些都不起作用。

19个回答

104

3
尝试了这个方法,看起来它正在工作,但是我在命令提示符中没有得到任何反馈。是否有任何标志可以用来接收有关操作进度的反馈? - Ogier Schelvis
1
链接页面未找到。 - Andhi Irawan

8

使用以下命令从转储文件导入数据库:

mysql -u UserName -p Password DatabaseName < FileName.sql 

在WAMP中
C:\wamp\bin\mysql\mysql5.0.51b\bin>mysql mysql -uroot -p DatabaseName < FileName.sql 

8
如果您正在使用 Windows PowerShell,可能会遇到以下错误信息:
The '<' operator is reserved for future use.

在这种情况下,只需键入以下命令:
cmd

切换到cmd shell并重新输入命令,它就会起作用。

c:\xampp\mysql\bin\mysql -u root -p my_database < my_database_dump.sql

返回 PowerShell 的方法如下:

exit

3
先生,您在2022年拯救了一条生命! - talha2k
1
你真是个救命恩人。谢谢! - kamasuPaul
1
你真是个救命恩人。谢谢。 - undefined

7

如果您已经安装了wamp,则请打开命令提示符,转到mysql.exe所在的路径,例如对于我来说,它是:C:\wamp\bin\mysql\mysql5.0.51b\bin,然后将sql文件粘贴到相同位置,最后在cmd中运行此命令:

C:\wamp\bin\mysql\mysql5.0.51b\bin>mysql -u root -p YourDatabaseName < YourFileName.sql

3

----------------WARM服务器。

步骤1:进入cmd,进入目录C:\wamp\bin\mysql\mysql5.6.17,按住Shift +右键(选择“在此处打开命令窗口”)

步骤2: C:\wamp\bin\mysql\mysql5.6.17\bin>mysql -u root -p SellProduct < D:\file.sql

in this case
+ Root is username database  
+ SellProduct is name database.
+ D:\file.sql is file you want to import

---------------它适合我使用-------------------


2

我在批处理中使用mysql -u root -ppassword databasename < filename.sql。对于单个文件,我更喜欢使用source,因为它可以显示进度和任何错误信息。

Query OK, 6717 rows affected (0.18 sec)
Records: 6717  Duplicates: 0  Warnings: 0
  1. 使用mysql -u root -ppassword登录MySQL
  2. 在MySQL中更改要导入的数据库:mysql>use databasename;

    • 这非常重要,否则将导入到默认数据库
  3. 使用source命令导入SQL文件:mysql>source path\to\the\file\filename.sql;


2

试试这个

  C:\xampp\mysql\bin\mysql -u {username} -p {databasename} < {filepath}

如果用户名为root,文件路径为'C:/test.sql',数据库名称为'test',密码为空,则命令将如下:

  C:\xampp\mysql\bin\mysql -u root  test < C:/test.sql

2

从转储文件中导入数据库(在本例中称为filename.sql)

    use: mysql -u username -p password database_name < filename.sql 

如果您在Windows上,您需要打开CMD,并转到mysql.exe安装的目录。如果您使用WAMP服务器,则通常位于: C:\wamp\bin\mysql\mysql5.5.8\bin(*请注意,mysql的版本可能不同)
所以您将: cd C:\wamp\bin\mysql\mysql5.5.8\bin
然后执行其中一个上述命令。 最终命令看起来像这样。
    C:\wamp\bin\mysql\mysql5.5.8\bin>mysql -u rootss -p pwdroot testdatabasename < D:\test\Projects\test_demo_db.sql

这是错误的语法。您不应该在 -p 和密码之间使用空格。 - Alexey Muravyov

1

尝试这个,它会起作用。不要输入密码,当你执行以下命令时它会要求你输入密码。

C:\xampp\mysql\bin\mysql -u xxxxx -p -h localhost your_database_name < c:\yourfile.sql

1

导入SQL文件的方法:

对于Wamp服务器:

  1. 在wamp中找到mysql。在我的电脑上,它的位置是"C:\wamp64\bin\mysql\mysql5.7.21\bin"

打开cmd,一旦进入bin目录,你需要输入"mysql -uroot -p database_name < filename.sql"。

记得将sql文件放在bin目录下。

简而言之,你需要做以下几步:

C:\wamp64\bin\mysql\mysql5.7.21\bin>mysql -uroot -p database_name < filename.sql

完成后,它会要求输入密码。我的密码为空(BLANK)。

希望能帮助到有需要的人。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接