首先,工具选择
一、sqlyog 这个工具还是很强大的,但是面对5个G的数据库来说,也只能罢工了,简单说,本机导入可以,从本机导入服务器不行。
二、phpadmin 自带的这个挺人家说还行,但是最后没用过,原因是看不见,因为最多50M,虽然修改配置文件可以上传但是5个G还是算了吧,没那个信心。
三、还有一个是一个PHP脚本。好像是德国人写的。这个东西,也是导入数据的,怎嘛说呢,本人是没试验成功。但是网上叫好一片,我是5G数据没点成功,这是折腾了第二天了。
四、数据库分割导入这个我也用到了,每个分割100M,分割出60多个SQL,还是会报各种错误。这个工具也失败了。
导入成功后的图片:
GZ压缩式1.3G解压后变成4.52G。导入到数据库,就变成6.6G了。
最后还是用命令导进去的
mysql -uroot -p shujukuming
再说下错误吧
简单的说就是各种错误都能遇到
错误1
ERROR 5 (HY000) at line 318: Out of memory (Needed 1681784 bytes)
这个错误能报很多 是使用 -f 报出来的,大致意思是内存不足,
解决办法 :mysql -uroot -p shujukuming -f
如果你不介意损失几条数据的话就用上面的方法吧
错误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+的有些查询语句不支持。