秋刀鱼设计

团队专业网站建设、品牌产品推广服务

@helosh13年前

2009/07/23
08:59 星期四
代码猿

phpmyadmin导入大数据的方法

在使用PhpMyAdmin的时候经常用到数据的导入和导出(Export/Import),但是在导入大数据的时候由于php上传文件的限制和脚本响应时间的限制,导致phpMyAdmin无法导入大数据,对于导入大数据到mysql的,我以前使用过使用SHELL的方式导入几百兆的文件到mySQL数据库(原文),但是国内的虚拟主机绝大多数不像DreamHost一样开放SHELL权限,而且多数都是Windows Server服务器。我们自己又没有权限修改php.ini文件,对于这种情况我们可以使用phpMyAdmin提供的$cfg[‘UploadDir’]方法,导入服务器上存在的.sql文件。

首先,找到phpMyAdmin的目录,找到根目录下的config.inc.php文件,然后找到 $cfg[‘UploadDir’] ,通过注释(Directories for saving/loading files from server)就可以看出这是用来导入服务器上的SQL文件的方法。相对的就是$cfg[‘SaveDir’],顾名思义就是把导出的SQL文件保存在服务器上的目录中。

修改这个参数

$cfg['UploadDir'] = 'ImportSQLFile';
$cfg['SaveDir'] = 'ExportSQLFile';

然后在phpMyAdmin中建立两个文件夹,ImportSQLFile和ExportSQLFile,一个用作大数据的导入,一个用作数据导出备份。

然后把我们需要导入的sql文件复制到ImportSQLFile中,上传到服务器上,选择需要导入的数据库名,选择导入(Import),就会发现在文件导入(File to import)的地方多出来一个导入服务器上的SQL文件(web server upload directory)

通过这种方法可以突破php.ini的上传文件限制,极限我没有试过,我上传的10M .sql文件成功导入到mysql中。

同理在导出/备份mysql数据的时候也可以直接保存在服务器上,保存到$cfg[‘SaveDir’] = ‘ExportSQLFile’;中指定的文件夹中

phpmyadmin导入大数据的方法