【问题标题】:cannot import too large sql file to mysql无法将太大的sql文件导入mysql
【发布时间】:2013-08-16 06:58:01
【问题描述】:

我有一个 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 设置?

【问题讨论】:

  • 您在更改 ini 文件后是否重新启动了 xampp?
  • 能否请您把导入失败时收到的错误信息过去?
  • Mr.Alien - 是的 Gnagno - 这是 import sql.zip -"没有收到要导入的数据。要么没有提交文件名,要么文件大小超过了 PHP 允许的最大大小配置。”这是 impoty .sql - “您可能试图上传太大的文件。请参阅文档以了解解决此限制的方法。”
  • 当您尝试从命令行导入它时它会说什么?你提到的消息错误对我来说听起来像 php / phpmyadmin。

标签: php mysql sql command


【解决方案1】:

试试这个:

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

登录数据库后:

source C:\xxx\xxx\sqlfile.sql

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

【讨论】:

  • 这应该是答案——只有一个对我有用。谢谢!
【解决方案2】:

您的文件有多大?您不妨从控制台执行此操作:

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

在不执行 mysql.ext 文件的情况下执行此操作:只需“cd”进入目录并尝试该命令。

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

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

【讨论】:

    【解决方案3】:

    你应该在 MySQL 中增加 max_allowed_pa​​cket。

    在导入文件之前执行这个命令:

    set global max_allowed_packet=1000000000;
    

    【讨论】:

    • 我已经执行了它,但仍然失败并显示错误消息“您可能尝试上传过大的文件。请参阅文档以了解解决此限制的方法”。
    • 在同一个数据库连接中?您是否尝试在 28MB 文件的开头手动添加它?我知道这不是一个好的解决方案,但我们会知道 max_allowed_pa​​cket 是否是问题所在。
    【解决方案4】:

    我也遇到了类似的问题。所以在那之后我也得出结论,大型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. 
    

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

    查看链接here

    【讨论】:

    • 注意:Windows 仅是为了其他平台上的人们的利益
    • @MarkBaker 是的。它是基于窗口的。
    猜你喜欢
    • 2012-12-19
    • 2013-02-23
    • 1970-01-01
    • 2011-07-06
    • 2023-03-11
    • 2016-11-29
    • 2022-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多