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

我有一个大的(〜150MB)我试图导入的SQL文件。 PHPMyAdmin甚至把它分成许多块,这太大了,它太大,不能通过一个PHP脚本导入,因为它处理脚本后30秒超时。 所以我正在寻找如何直接从MySQL命令行导入文件。

在线search显示我想要使用database_name < file_name.sqlsource file_name.sql但我不能让这两个工作。

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

我在Windows,并使用xampp作为本地主机服务器(注意我只是试图导入本地主机上的这个文件,以便我可以执行SQL)。 我试过把文件放在xampp\mysql\binxampp\mysql\data\database_name

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

用xampp我想你需要在命令行使用完整的path,例如:

 C:\xampp\mysql\bin\mysql -u {username} -p {databasename} < file_name.sql 

不要使用"source" ,它的目的是运行less量的sql queries并显示输出,而不是导入大型数据库。

我使用Wamp Developer (不是XAMPP ),但它应该是一样的。

你想要做的是使用MySQL Client为你做的工作。

  1. 确保MySQL正在运行。
  2. 通过phpMyAdminMySQL Shell创build数据库。
  3. 然后,运行cmd.exe ,并切换到您的sql文件所在的目录。
  4. 执行: mysql -u root -p database_name < database_dump_file.sql
  5. replace你的database namesql file name
  6. 出现提示时input您的MySQL root account password

这假定mysql.exe可以通过pathfind,并且该sql文件位于您正在运行该目录的目录中。 否则,请使用完整path。

在Windows上,这应该工作(注意前向空白,并且整个path不被引用,并且允许空格)

USE yourdb;

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

选项1.你可以做到这一点使用单一的cmd,其中D是我的xampp或wampp安装文件夹,所以我用这个地方mysql.exe安装和第二个选项数据库名称和最后是sql文件,所以取代它为你然后运行

 D:\xampp\mysql\bin\mysql.exe -u root -p databse_name < D:\yoursqlfile.sql 

选项2假设您的当前path是显示命令提示符

 C:\Users\shafiq; 

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

 C:\xampp\mysql\bin; 

C:\xampp\mysql\bin\mysql -u {username} -p {database password} 。然后在命令提示符下input密码时请input。

使用mysql-> use test (database name test)select数据库。

然后把源文件放在bin文件夹中。

那么最后的命令是mysql-> source test.sql然后按回车

 C:\xampp\mysql\bin C:\xampp\mysql\bin\mysql -u {username} -p {database password} mysql-> use test mysql->source test.sql 
 C:\xampp\mysql\bin\mysql -u root -p testdatabase < C:\Users\Juan\Desktop\databasebackup.sql 

这对我来说,导入400MB的文件到我的数据库。

在我的Xampp设置中,我可以使用以下命令将数据库导入到MySQL中:

 C:\xampp\mysql\bin\mysql -u {username goes here} -p {leave password blank} {database name} < /path/to/file.sql [enter] 

我在本地机器上的个人经历如下:
用户名: Root
数据库名称: testdatabase
SQL文件位置: databasebackup.sql位于我的桌面上

 C:\xampp\mysql\bin\mysql -u root -p testdatabase < C:\Users\Juan\Desktop\databasebackup.sql 

这对我来说我的1GB +文件导入到我的数据库。

用户名为root,没有密码

 mysql -h localhost -u root databasename < dump.sql 

我已经遇到了我的本地主机上的问题,因为我没有任何root用户的密码。 你可以使用它没有-p密码如上。 如果要求input密码,只需按回车。

使用mysql source命令来避免redirect失败,特别是在Windows上。

 mysql [-u <username>] [-p<password>] databasename -e "source /path/to/dump.sql" 

其中e为“执行命令”

在Windows上,请记住对于sql命令使用双引号。

但是,反斜杠\或斜杠/将在Windows上工作。