如何使用MySQL的源命令在Windows中导入大文件

Dan*_*ill 50 mysql xampp import

我有一个大的(~150mb)sql文件,我试图导入.它太大了,无法通过PHPMyAdmin将其拆分为多个部分,并且它太大而无法通过php脚本导入,因为它在处理脚本30秒后超时.所以我正在寻找如何从MySQL命令行直接导入文件.

网上搜索显示,我想无论是使用database_name < file_name.sqlsource file_name.sql,但我不能得到任何的这些工作.

使用时<给出了通用的MySQL语法错误,同时使用source稍微更有希望,failed to open file 'file_name.sql', error: 2所以我倾向于认为源命令是在正确的轨道上.

我在Windows中,并使用xampp作为localhost服务器(注意我只是尝试在localhost上导入此文件,以便我可以执行sql).我已经尝试将文件放入 xampp\mysql\binxampp\mysql\data\database_name.

有关如何从MySQL命令行或通过任何其他方式将此.sql文件导入MySQL的任何建议将不胜感激.

Fem*_*emi 56

使用xampp我认为你需要在命令行使用完整路径,这可能是:

C:\xampp\mysql\bin\mysql -u {username} -p {databasename} < file_name.sql
Run Code Online (Sandbox Code Playgroud)

  • 我收到 Daniel Nill 提到的相同错误:&lt; 为未来版本保留。我该如何解决这个问题? (2认同)

Val*_*spa 38

在Windows上这应该工作(注意前向闪烁并且没有引用整个路径并且允许空格)

USE yourdb;

SOURCE D:/My Folder with spaces/Folder/filetoimport.sql;

  • 谢谢。我一直在寻找如何处理空间的方法,尽管有些问题,但您的解决方案还是出现了。向前/斜杠和向后\\斜杠对我来说也都很好。没有单引号,没有双引号。谢谢。 (2认同)

rig*_*uff 34

不要使用"source",它设计为运行少量sql queries并显示输出,而不是导入大型数据库.

我使用Wamp Developer(不是XAMPP)但它应该是相同的.

你想要做的是用它MySQL Client为你做的工作.

  1. 确保MySQL正在运行.
  2. 通过phpMyAdmin或创建您的数据库MySQL shell.
  3. 然后,运行cmd.exe,并切换到您的sql文件所在的目录.
  4. 执行: mysql -u root -p database_name_here < dump_file_name_here.sql
  5. 替换你database name和你的dump file name.
  6. MySQL root account password出现提示时输入您的信息(如果未设置密码,请删除"-p"开关).

这假设mysql.exe可以通过环境路径定位,并且该sql文件位于您运行此目录的目录中.否则,请使用完整路径.

  • 对我来说,它提供了帮助信息,没有错误. (2认同)
  • 啊!,它最后不需要半冒号.现在,它在导入时又回到了同样的错误.有没有任何错误抑制方法! (2认同)

Sha*_*lam 11

选项1.您可以使用单个cmd执行此操作,其中D是我的xampp或wampp安装文件夹,所以我使用这个mysql.exe安装和第二个选项数据库名称,最后是sql文件,所以将其替换为你的运行这个

D:\xampp\mysql\bin\mysql.exe -u root -p databse_name < D:\yoursqlfile.sql
Run Code Online (Sandbox Code Playgroud)

wampp的选项1

D:\wamp64\bin\mysql\mysql5.7.14\bin\mysql.exe -u root -p databse_name< D:\yoursqlfile.sql
Run Code Online (Sandbox Code Playgroud)

更改您的文件夹和mysql版本

选项2假设您当前的路径显示命令提示符

C:\Users\shafiq;
Run Code Online (Sandbox Code Playgroud)

然后改变目录cd.. 然后转到你安装xampp的mysql目录.然后cd..换更改目录.然后转到bin文件夹.

C:\xampp\mysql\bin;
Run Code Online (Sandbox Code Playgroud)

C:\xampp\mysql\bin\mysql -u {username} -p {database password}.然后在命令提示符下看到输入密码时输入.

选择数据库使用

mysql->use test (where database name test) 
Run Code Online (Sandbox Code Playgroud)

然后在bin文件夹中放入源sql.

那么最后一个命令就是

mysql-> source test.sql (where test.sql is file name which need to import)
Run Code Online (Sandbox Code Playgroud)

然后按回车键

这是完整的命令

C:\Users\shafiq;
C:\xampp\mysql\bin
C:\xampp\mysql\bin\mysql -u {username} -p {database password}
 mysql-> use test
 mysql->source test.sql
Run Code Online (Sandbox Code Playgroud)


小智 5

C:\xampp\mysql\bin\mysql -u root -p testdatabase < C:\Users\Juan\Desktop\databasebackup.sql
Run Code Online (Sandbox Code Playgroud)

这对我将 400MB 文件导入我的数据库很有用。