之前线上有一个数据库有一个日志表的数据有十几G 去表里看日志时查询很慢,所以同事就把他备份了6G的数据下来,前些天运营发现数据有误对不上,请求技术查询问题,首先想到之气的日志备份了所以现在要导入一个单独的库里面 导入一直失败,试sql文件切割,代码读取sql文件导入都失败,最后只能通过命令导入 也失败,经过查找是需要修改my.ini配置才能导入成功

工具选择 
sqlyog 这个工具还是很强大的,但是面对5个G的数据库来说,也只能罢工了
navicat for mysql这个也是导入不了5G以上的sql文件 会提示Out of memory  内存不足

 简单的说就是各种错误都能遇到 
错误1 
ERROR 5 (HY000) at line 318: Out of memory (Needed 1681784 bytes) 
这个错误能报很多 是使用 -f 报出来的,大致意思是内存不足, 
解决办法 :mysql -uroot -p shujukuming -f<XXXXX 
如果你不介意损失几条数据的话就用上面的方法吧 


错误2
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.。。 

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

更多推荐