Mysql文件太大导入失败解决办法总结
Mysql文件太大导入失败解决办法总结
在使用phpmyadmin导入数据库的时候可能会碰到由于数据库文件太大而无法导入的问题!
英文提示如下:File exceeds the maximum allowed size
如果正在使用的主机可以自定义php.ini的话,就可以通过直接修改这个文件来解决,即通过通过编辑php.ini文件来重新设定上传文件大小的限定,具体操作步骤:
第一步:打开php.ini,找到 upload_max_filesize 、 memory_limit 、 post_max_size 这三个参数!
他们所代表的含义分别是:
upload_max_filesize 限制上传文件的最大大小。post_max_size 设定POST数据所允许的最大大小。memory_limit 设定了一个脚本所能够申请到的最大内存字节数。
(在默认的情况下,php只允许最大的上传数据为2M,也就是2048KB,而极限的最大使用内存memory_limit也仅为128M,Post的最大也为2M)
第二步:按照服务器的实际性能配置进行如下修改:
upload_max_filesize =8M(上传最大极限设定为8M,足够一般的文件WEB上传了)memory_limit =512M(如果服务器的内存为2GB,这里可以设置为512M)post_max_size =8M(Post数据最大值也设置为8MB,这个和upload_max一样)
第三步:修改完毕,重新启动系统,然后再执行导入命令后,会提示:
Import has been successfully finished,499 queries executed.
(显示导入成功,有499个请求处理成功…)
但是对于使用不支持自定义php.ini的虚拟主机的同学来说,就得想别的办法了。
这里也有方法:将数据文件分割,然后逐步导入!
分割数据库文件需要用到一个软件:SQLDumpSplitter
1. 点击软件Step1处的Brows选择要分割的数据库文件2.在Step2处设置分割文件的大小,Kilobytes是文件大小的单位,此处可以设置成 MB3.在Step3选择输出的路径.4.点击Setp4处有红色标记的Execute,开始分割文件.文件分割完成后,打开Step4设置好的路径,会 发现有个名为SQLDumpSplitterResult的文件夹.打开文件夹后会看到被分割好的数据文件,文件命名方式:原文件名_1.sql、原文件 名_2.sql……这种类型的。最后还有一个名为原文件名_DataStructure.sql的文件!在phpmyadmin导入文件的时候,先导入原 文件名_DataStructure.sql,然后按照原文件名_1.sql、原文件名_2.sql….的顺序导入即可。没了,目前就这么两个方法了,根 据自己的实际情况来选择合适的方法吧!
第四个方法:
要对公司内一系统的MySQL数据库进行备份恢复,但是由于sql文件近200M,Mysql的web管理界面只允许不大于2M的sql文件导入,解决过程如下:
1、由于mysql能解析sql的压缩文件,因此将200M压缩后为5M。
2、默认情况下:MySQL导入文件大小有限制的,最大为2M,所以当文件很大时候,直接无法导入,可修改php.ini参数调整:
在php.ini中修改相关参数:
影响MySQL导入文件大小的参数有三个:、
memory_limit=128M,upload_max_filesize=2M,post_max_size=8M
(以上的方法很少用于大数据备份,非常慢)
命令的操作方法(一般大于2M以上都用命令)导入
一
1终端进入数据库(mysql -u root -p)
2show databases;->use 你要导入的数据库
3soure '路径'+sql文件名
例子:把 /var/www/2015-11.sql文件导入 paypal数据库中
mysql>use paypal
mysql>source /var/www/2015-11.sql;
这个速度也是很慢的(超过200M)