无法将太大的sql文件导入mysql

问题描述 投票:0回答:6

我有一个 28 MB 的 sql 文件需要导入到 mysql。 首先,我使用 xampp 导入,但失败了,所以我将 php.ini-development 和 php.ini-product 中的 max_file_uploads、post_size (类似的东西)更改为 40 MB,但它仍然显示“max: 2048kb”,导入再次失败。

通过研究,我学会了使用mysql.exe导入,所以我打开mysql.exe并输入下面的命令行(msdos):

-u root -p dbname < C:\xxx\xxx\sqlfile.sql

但还是一次又一次失败......

问题是什么? xampp?或者我的sql设置?

php mysql sql command
6个回答
2
投票

试试这个:

mysql -uroot -p --max_allowed_packet=24M dbname

登录数据库后:

source C:\xxx\xxx\sqlfile.sql

我认为你应该能够加载你的文件


1
投票

您的文件有多大?您也可以从控制台执行此操作:

mysql -u##USER## -p ##YOUR_DATABASE## < ##PATH_TO_YOUR_FILE##

无需执行 mysql.ext 文件即可执行此操作:只需“cd”直接进入目录并尝试该命令。

它将询问您的密码并立即开始导入。不要忘记创建数据库或删除所有表(如果已存在)。

我总是发现这种方法比使用 php 指令、phpmyadmin 配置或外部应用程序更快、更轻松、更容易。它就在那里,内置于 mysql 核心中。


0
投票

您应该增加MySQL中的max_allowed_packet。

只需在导入文件之前执行此命令:

set global max_allowed_packet=1000000000;

0
投票

我也遇到了类似的问题。所以之后我也得出结论,大的sql文件永远不会被导入到mysql中。它总是会给出timeout错误。

然后我找到了解决方案。

有一个软件Heidisql

请按照以下步骤操作:-

1) download the software.
2) then install the software
3) create new session in Heidisql and open the session
4) then go to Tools -> Load SQL File -> Browse. 

就是这样。这个解决方案最适合我。

检查链接这里


0
投票

我发现唯一的解决方案是从命令行登录MySQL并使用“source”命令:-

1) cd 到包含要导入的 SQL 文件的目录,然后登录 MySQL:

#> mysql -u 您的用户名 -p -h 本地主机

2)使用MySQL命令导入数据:

#> 使用 NAMEOFYOURDB;

#> 源 NAMEOFFILETOIMPORT.sql

这还会向您的终端反馈有关进度的信息,这令人放心。


0
投票

转到xamp中的php.ini文件,单击apach中的配置。然后在文本文件中键入这些命令。您可以根据数据库的文件大小改变这些值

post_max_size = 900M
memory_limit = 1024M
max_execution_time = 6000
max_input_time = 6000

© www.soinside.com 2019 - 2024. All rights reserved.