PhpMyAdmin尝试导入sql时文件太大错误

时间:2010-10-31 02:33:46

标签: phpmyadmin

嘿伙计们,我试图在客户端服务器上使用phpmy admin导入数据库(.sql)文件。

我得到一个文件太大的错误,甚至认为我可以选择将文件分成碎片等但我仍然得到错误。上传大小为50MiB,我尝试导入的文件为90mb(对于db。)

我在MAM中遇到了同样的错误并知道我可以更改maz_size_limit和类似的东西,但我不知道在客户端服务器上该怎么做。我可以访问cpanel但看不到任何选项。

我可以在我的服务器上导入相同的文件,即使它设置为64MB,因为它可以切断和导入。

我有什么选择?

我尝试使用mysequal pro,因为它在我的本地comp上用于MAMP,但是我无法为此客户端服务器执行此操作。

有什么想法吗?

8 个答案:

答案 0 :(得分:5)

最好的办法是将其FTP到服务器然后ssh(命令行)并以这种方式导入数据库。结果命令将类似于:

mysql -hlocalhost -uUser -pPassword database_name < file_name

这样您就可以完全绕过任何文件上传或处理时间限制。

答案 1 :(得分:4)

另一种选择:

/.../ phpmyadmin3.2.0.1 / config.inc.php文件

在其上找到包含$ cfg ['UploadDir']的行并将其更新为:

$ cfg ['UploadDir'] ='上传';

在phpmyadmin目录中创建一个名为“upload”的目录。

将您的文件放在这个新的上传目录中,然后您会在导入页面上看到一个新的下拉列表。

来源:http://daipratt.co.uk/importing-large-files-into-mysql-with-phpmyadmin/

答案 2 :(得分:2)

您对客户的服务器有什么样的访问权限?

如果您有终端访问权限,则上述答案将有效。

否则,完成它的一个非常难看的方法是你可以创建一个.htaccess文件来改变PHP设置以通过PHPmyAdmin上传sql文件。

.htaccess文件中,您可以输入:

php_value upload_max_filesize 80M
php_value post_max_size 80M
php_value max_execution_time 300
php_value max_input_time 300

确保在完成后立即删除.htaccess文件。此外,如果客户端的服务器使用Apache设置不允许覆盖,则此操作无效。

答案 3 :(得分:2)

您尝试以原始.sql格式导入的文件是?如果没有,那么尝试压缩/解压缩它。对于文本文件,您可以看到文件大小的大幅减少,这可能允许您上传它而无需更改任何PHP配置文件。

答案 4 :(得分:1)

无论大小如何,都可以使用命令行导入任何未压缩的文件。

mysql -h <host> -u <user> -p <database> < path/file.sql
  • 如果您使用本地主机,则不需要-h和
  • 如果用户没有密码,则不需要-p

答案 5 :(得分:0)

PHP通常对上传有文件大小限制。最好的办法是FTP文件并通过ssh登录并通过mysql命令行导入sql脚本

答案 6 :(得分:0)

您可以通过以下方式实现;

  1. 您可以转到控制面板/ cpanel并添加主机%这意味着现在可以从本地计算机访问数据库服务器。现在你可以使用PHP-Myadmin安装和使用MySQL Administrator或Navicat来导出和导出数据库,我多次使用它上传200 MB到500 MB的数据而没有问题

  2. 使用gzip,bzip2压缩进行导出和导入。我在Windows中使用PEA ZIP软件(免费)。尽量避免使用Winrar和Winzip

  3. 使用MySQL Splitter将sql文件分成几个部分。在我个人的建议中,不推荐

    1. 正如其他朋友已经提到的那样,使用PHP INI设置(动态更改最大上传和最长执行时间)是富有成效的,但并非总是如此。

    2. 此外,如果SSH可用,您可以通过终端使用SQLDUMP

答案 7 :(得分:0)

尝试在上传之前压缩.SQL文件。我已将100MB +压缩到~10MB,但phpMyAdmin因此错误而失败:

  

致命错误:允许的内存大小为94371840字节耗尽(尝试过   分配106954753字节)

如果未压缩的.SQL文件小于或等于94MB,则可以正常压缩并上传。