cmd mysql导入大文件_如何使用MySQL的source命令在Windows中导入大文件

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

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

在线搜索显示我想要使用xampp\mysql\bin或xampp\mysql\data\database_name,但我无法使用其中任何一个。

使用xampp\mysql\bin给出了通用的MySQL语法错误,而使用xampp\mysql\data\database_name给出了稍微更有希望的failed to open file 'file_name.sql', error: 2,因此我倾向于认为source命令是正确的。

我在Windows中,并且将xampp用作localhost服务器(请注意,我只是试图在localhost上导入此文件,以便我可以执行sql)。 我尝试将文件放在xampp\mysql\bin和xampp\mysql\data\database_name中。

对于如何从MySQL命令行或通过任何其他方式将该.sql文件导入MySQL的任何建议,将不胜感激。

11个解决方案

54 votes

使用xampp时,我认为您需要在命令行中使用完整路径,如下所示:

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

Femi answered 2020-02-05T11:34:29Z

37 votes

在Windows上,这应该可以工作(请注意正斜杠,并且不引用整个路径并且允许使用空格)

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

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

Valentin Despa answered 2020-02-05T11:35:54Z

34 votes

不要使用mysql.exe,它旨在运行少量sql并显示输出,而不是导入大型数据库。

我使用mysql.exe(不是sql),但应该相同。

您想要做的是使用mysql.exe为您完成工作。

确保mysql.exe正在运行。

通过mysql.exe或sql创建数据库。

然后,运行mysql.exe,并将目录更改为sql文件所在的目录。位于。

执行:mysql.exe

替换为您的mysql.exe和sql。

出现提示时输入您的mysql.exe(如果未设置密码,请删除“ -p”开关)。

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

rightstuff answered 2020-02-05T11:36:54Z

11 votes

选项1。您可以使用单个cmd来执行此操作,其中D是我的xampp或wampp安装文件夹,因此我在mysql.exe安装和第二个选项数据库名最后一个是sql文件的情况下使用此命令,请替换为您的文件,然后运行此文件

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

选项1

D:\wamp64\bin\mysql\mysql5.7.14\bin\mysql.exe -u root -p databse_name< D:\yoursqlfile.sql

更改您的文件夹和mysql版本

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

C:\Users\shafiq;

然后使用C:\xampp\mysql\bin\mysql -u {username} -p {database password}更改目录然后转到安装了xampp的mysql目录。 然后cd..更改目录。 然后转到bin文件夹。

C:\xampp\mysql\bin;

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

选择数据库使用

mysql->use test (where database name test)

然后将源sql放入bin文件夹中。

那么最后一个命令将是

mysql-> source test.sql (where test.sql is file name which need to import)

然后按回车

这是完整的命令

C:\Users\shafiq;

C:\xampp\mysql\bin

C:\xampp\mysql\bin\mysql -u {username} -p {database password}

mysql-> use test

mysql->source test.sql

Shafiqul Islam answered 2020-02-05T11:37:58Z

4 votes

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

这对我来说很有效,可以将400MB文件导入数据库。

Guillermo Hernández answered 2020-02-05T11:38:18Z

1 votes

在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以上的文件导入数据库。

IamJuanValle answered 2020-02-05T11:39:00Z

1 votes

用户名是root,没有密码

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

我在本地主机上遇到了问题,因为我没有root用户的任何密码。 您可以不使用-p密码来使用它,如上所述。 如果要求输入密码,只需按Enter。

Arjun s answered 2020-02-05T11:39:29Z

1 votes

使用mysql source命令来避免重定向失败,尤其是在Windows上。

mysql [-u ] [-p] -e "source /path/to/dump.sql"

其中e代表“执行命令”

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

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

cdarlint answered 2020-02-05T11:40:02Z

1 votes

使用MySQL中的命令行导入大型SQL文件。

首先在命令行转到文件路径。然后,

选项1:

mysql -u {user_name} -p{password} {database_name} < your_file.sql

这是一个警告消息:在命令行界面上使用密码可能不安全。

完成。您的文件将被导入。

选项2:

mysql -u {user_name} -p {database_name} < your_file.sql

在此您不提供sql密码,然后他们要求输入密码即可,只需输入密码即可导入您的文件。

Ravindra Patel answered 2020-02-05T11:40:48Z

0 votes

在Windows上:使用资源管理器导航到带有.sql文件的文件夹。在顶部地址栏中键入cmd。 Cmd将打开。类型:

"C:\path\to\mysql.exe" -u "your_username" -p "your password" < "name_of_your_sql_file.sql"

请稍等,该sql文件将在您的数据库上执行。确认于2018年2月与MariaDB合作。

ffactory answered 2020-02-05T11:41:13Z

0 votes

您好,我遇到了同样的问题,但是我尝试了许多不同的状态,然后才想到:SOURCE无法使用; 在我的情况下:

SOURCE D:\Barname-Narmafzar\computer programming's languages\SQL\MySQL\dataAug-12-2019\dataAug-12-2019.sql;

错误是:

ERROR: Unknown command '\B'.

'>它也不能使用该地址的引号。但是它可以在没有的情况下工作; 在末尾:

SOURCE D:\Barname-Narmafzar\computer programming's languages\SQL\MySQL\dataAug-12-2019\dataAug-12-2019.sql

但是请记住使用USE database_name; 在那之前。我认为是这样,因为SOURCE或USE或HELP是针对Mysql本身的,它们不是这样的查询代码,尽管当您编写HELP时会说:

“请注意,所有文本命令必须先行并以;结尾。”

但是这里不起作用。

我应该说我已经在CMD中完成了此操作,但没有在Mysql Workbench中尝试过。就是这样

这就是结果

Arash answered 2020-02-05T11:42:03Z

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值