如何向MySQL資料庫匯入大於2MB以上数据

修改/etc/php.ini
    upload_max_filesize = 100M (改成100M)
    post_max_size = 100M (也改成100M)
    max_execution_time = 600 (這裡可用預設或自行修改)
    max_input_time = 600 (這裡可用預設或自行修改)
    memory_limit = 16M (這裡可用預設或自行修改)

修改後存檔,重新restart Apache

PS:由于我要汇入的数据量太大,达到了178M(csv文件),使用上面的方法修改,把max_execution_time和max_input_time都修改到很大,汇入时仍然会出现time out的错误信息。
后来发现在资料库汇入操作的管理页面,有一个选项
Allow the interruption of an import in case the script detects it is close to the PHP timeout limit.
勾选以后就不会有有超时的问题出现。
不过想要看文件导入的的进度,用java自己写了一个程式导入。

另外网上有一种导入sql格式大文件的方法,还没有测试是否可行。
以下转载自:http://hi.baidu.com/djiznew/item/244943e06ce6afb52f140bda
采用命令行的方式处理
这里我假设我的数据库是inputData 要导入的数据在D:\inputData.sql
windows: 开始 -> 运行 -> cmd
C:\Documents and Settings\Administrator>d:
D:\>mysql -u用户名 -p inputData < inputData.sql
回车后,输入密码,然后导入文件成功
linux: 假设我的文件的位置在/var/www/inputData.sql
mysql -u用户名 -p inputData < /var/www/inputData.sql
回车后,输入密码,然后导入文件成功

posted @ 2012-08-04 08:49  日光之下无新事  阅读(688)  评论(0编辑  收藏  举报