6G数据库的导入 报各种错误的解决办法


工具选择
一。sqlyog 这个工具还是很强大的,但是面对5个G的数据库来说,也只能罢工了,简单说,本机导入可以,从本机导入服务器不行。
二。phpadmin 自带的这个挺人家说还行,但是最后没用过,原因是看不见,因为最多50M,虽然修改配置文件可以上传但是5个G还是算了吧,没那个信心。
三。还有一个是一个PHP脚本。好像是德国人写的。这个东西,也是导入数据的,怎嘛说呢,本人是没试验成功。但是网上叫好一片,我是5G数据没点成功,这是折腾了第二天了。
四。数据库分割导入这个我也用到了,每个分割100M,汗一下。不能再小了。。。分割出60多个SQL,还是会报各种错误。这个工具也失败了。如果你想用,去网上找找吧mysql分割

下面的图片就是导入成功后的图片了,
GZ压缩式1.3G解压后变成4.52G。导入到数据库,就变成6.6G了。。。。。

最后还是用命令导进去的
mysql -uroot -p shujukuming<XXXXX

再说下错误吧
简单的说就是各种错误都能遇到
错误1
ERROR 5 (HY000) at line 318: Out of memory (Needed 1681784 bytes)

这个错误能报很多 是使用 -f 报出来的,大致意思是内存不足,
解决办法 :mysql -uroot -p shujukuming -f<XXXXX
如果你不介意损失几条数据的话就用上面的方法吧

错误2
ERROR 1062 (23000) at line 30: Duplicate entry '1' for key 'PRIMARY'
这个错误是键值错误的意思
解决办法:网上说是要清空数据表数据,可是在用数据分区的时候主键和分区时不能同时使用,把主键在更改下就行

错误3
mysql error nr.2006-mysql server has gone away
这个错误是 上传限制的问题需要修改配置文件
配置文件在 linx叫 my.conf 在windows叫my.ini
这里面的东西修改要小心了乱改是不行的。
简单的就是修改几个配置就行了

max_allowed_packet=166666m 这个是限制文件大小的由于要上传6个G所以改成1111111M 额应该够了吧
wait_timeout=288000000 等待超时。。看事改吧,我在后面加了好几个0.。。
interactive_timeout= 288000000运行超时。。。。看事改吧,我在后面加了好几个0.。。

除了几个就不要修改其他的配置文件了,注意重启下服务器

错误4
这个是个很低级的错误
mysql 版本不对 现在流行的都是5.0+
注意高版本不能导入低的版本,5.5+是不能导入到5.0+的有些查询语句不支持。

转帖请标明来源谢谢 http://skss.blog.163.com/

以上就是本人遇到的各种问题,如有其它问题请多多指教,毕竟6个G的文件啥sql也打不开
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3