如何拆分大型sql .gz文件上传到数据库?

时间:2014-09-21 00:36:54

标签: php mysql sql database phpmyadmin

我有一个从旧网站导出的数据库,它是一个joomla 1.5内置的网站。

现在我需要重新设置网站,但我无法导入数据库。

数据库是压缩的.gz文件我知道老服务器在centos上运行(我认为是5)和直接管理控制面板。

我使用常用​​的默认设置通过phpmyadmin导出数据库。

现在我无法在我的电脑上导入它。

我使用wampserver并且在phpmyadmin / import.php中不断获得错误最大超过300的时间

数据库文件压缩2.5mb,未压缩28mb。

我尝试了将每个选项拆分,分割,复制/粘贴到php中,但文件太大而无法完成。

我将脚本执行时间的所有设置更改为无限期,最大上传大小,最大内存使用...但只是phpmyadmin只是在一段时间后丢弃文件。

将sql文件拆分为几个较小的文件并单独上传的方法。

1 个答案:

答案 0 :(得分:2)

Pozdrav Srba,

有一个工具可以在有限制的平台上执行此操作,例如共享托管:

http://www.ozerov.de/bigdump/

这样,上传您的大型转储,然后配置BigDump将其插入您的数据库。

至于拆分转储文件,它取决于转储的性质。这就像是多次查询,通过判断,我是图像:

首先,您需要确定每个查询的终止,然后将其拆分为:

$con = file_get_contents( 'file.sql' );
$parts = explode( '),(' );

现在,您可以转储每个单独的查询。您需要设置内存和执行时间,如:

set_time_limit( 2419200 );
ini_set( 'memory_limit', '999M' );