在使用
phpMyAdmin的时候经常用到数据的导入和导出(Export/Import),但是在导入
大数据的时候由于
php上传文件的限制和脚本响应时间的限制,导致
phpMyAdmin无法导入大数据,对于导入大数据到mysql的,我以前使用过使用SHELL的方式导入几百兆的文件到mySQL
数据库(原文),但是国内的虚拟主机绝大多数不像DreamHost一样开放SHELL权限,而且多数都是Windows Server
服务器。我们自己又没有权限修改
php.ini文件,对于这种情况我们可以使用
phpMyAdmin提供的$cfg['UploadDir']方法,导入
服务器上存在的.sql文件。
第一:
修改
php.ini
file_uploads on 是否允许通过HTTP上传文件的开关。默认为ON即是开
upload_tmp_dir 文件上传至
服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹
upload_max_filesize 20m 望文生意,即允许上传文件大小的最大值。默认为2M
post_max_size 30m 指通过表单POST给
php的所能接收的最大值,包括表单里的所有值。默认为8M
修改后一定要重新启动电脑或者重新启动
php其次,找到
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,一个用作大数据的导入,一个用作数据导出备份。
www.atcpu.com然后把我们需要导入的sql文件复制到ImportSQLFile中,上传到
服务器上,选择需要导入的
数据库名,选择导入(Import),就会发现在文件导入(File to import)的地方多出来一个导入
服务器上的SQL文件(
web server upload directory)