加载中…
个人资料
樱木花道
樱木花道
  • 博客等级:
  • 博客积分:0
  • 博客访问:315,828
  • 关注人气:46
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
正文 字体大小:

导入大的sql文件到mysql数据库;phpmyadmin出现Fatal error: Maximum execution time of 300

(2012-10-21 05:05:37)
标签:

it

分类: mysql
在导入大的sql文件到mysql数据库时,以前我通常用dos下的source 目录名实现,但是今天发现这样会导致编码问题;如果直接修改php.ini对上传文件的控制,改的比上传文件稍大时,即可上传,并且不会出现编码问题。
php.ini文件修改的位置是
upload_max_filesize,memory_limit 和post_max_size
当导入时间太长,出现 脚本超时,如果你要完成导入,请重新提交相同的文件,导入将会继续进行
请修改php.ini里的max_execution_time   3000     每个PHP页面运行的最大时间值(秒),默认30秒



以下原文:  http://shanmao.me/webback/sql/jie-jue-phpmyadmin-chu-xian-fatal-error-maximum-execution-time-300-seconds

我在mysql用phpmyadmin导入数据的时候出现:

Fatal error: Maximum execution time of 300 seconds exceeded in D:\XXX

上网查了很多文章都说 是把php.ini 里面的 max_execution_time 改大就可以,可我改了还是不行。。

后来才查出原来是phpmyadmin自己的限制。

找到phpmyadmin目录下config文件

具体位置可能不一样。我的在 mylocalhost\phpMyAdmin\libraries下

找到:$cfg['ExecTimeLimit'] = 300;

改成 $cfg['ExecTimeLimit'] = 300000;

根据自己的需求改咯。然后导入数据的时候等久一些就OK了~~~

希望对大家有帮助。

看我的导入成功:

本文地址:http://shanmao.me/?p=1147

————————————————————————————–

下面是一些相关资料:

Maximum execution time of 30 seconds exceeded 错误解决方案.

简单总结一下解决办法:

报错一:内存超限,具体报错语句忘了,简单说一下解决办法。

利用循环分批导入;
每个循环内部开始处使用sleep(5);语句,做延迟执行,防止服务器内存同一时间占用过多,里面数字据情况修改;
每个循环内部结束地方使用 ob_flush();刷新输出缓冲
flush();将当前为止程序的所有输出发送到用户的浏览器
两者必须同时使用来刷新输出缓冲

报错二:30秒运行超时的错误(Maximum execution time of 30 seconds exceeded)

解决办法:

方法一,修改php.ini文件

max_execution_time = 30; Maximum execution time of each script, in seconds
把它设置成需要的值就可以了。如果设置成0的话,就是永不过期。
方法二,修改php执行文件
加上


设置好了,用火狐在导入中断后继续导入不行,用谷歌浏览器是可以的。wamp2.5设置以后好像没用,wamp2.2可以.谷歌导入4个多小时导入成功

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有