MySql变量max_allowed_packet奇怪问题
来源:互联网 发布:手机淘宝如何抢红包 编辑:程序博客网 时间:2024/06/06 13:05
MySql变量max_allowed_packet奇怪问题
需求:用kettle将SQLServer中的数据批量迁移到MySql中。
报错:Packet for query is too large (3001229 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.
分析查找原因:max_allowed_packet是数据库变量,网上查找原因,根据上篇文章设置后,再抽取也还是出问题。
设置了MySql的变量后发现一个很奇怪的问题:
1、我分别修改了mysql的my.ini、my-large.ini的max_allowed_packet值,重启服务,查看max_allowed_packet值没变。
命令:show VARIABLES like '%max_allowed_packet%'
2、我通过命令行设置:
set global max_allowed_packet = 8*1024*1024*10;
修改后使用 show VARIABLES like '%max_allowed_packet%' 查看时值还是没有变化,因为存在缓存,commit后,exit 退出mysql 重新登录,然后show ,值才会改变:
重新登录查看结果:
好!值已经修改了,那来开始抽取吧,可抽取结果还是有问题:
命令行查看max_allowed_packet 值,又回到默认值了!!!
一种奇葩的做法:
设置max_allowed_packet的值,不用重启服务:
这时候用Kettle抽取就可以成功将大批量的数据抽过来了,mysql中的max_allowed_packet设值具体什么情况,我也是蒙了!!!好在通过尝试,根据日志报错信息修改配置,达到kttle抽取需要满足的条件就行了。
以下是kettle抽取数据成功信息(以下迁库作业设计流程还得感谢空山苦水禅人,在他的热情帮助下,我的问题得到顺利的解决):
- MySql变量max_allowed_packet奇怪问题
- 解决MySQL max_allowed_packet问题
- Mysql的max_allowed_packet问题
- MySQL max_allowed_packet设置及问题
- MySQL max_allowed_packet设置及问题
- MySQL max_allowed_packet设置及问题
- MySQL max_allowed_packet设置及问题
- MySQL max_allowed_packet设置及问题
- MySQL max_allowed_packet设置及问题
- MySQL max_allowed_packet设置及问题
- MySQL max_allowed_packet设置及问题
- MySQL max_allowed_packet设置及问题
- MySQL max_allowed_packet设置及问题
- MySQL max_allowed_packet设置及问题
- MySQL max_allowed_packet设置及问题
- MySQL max_allowed_packet设置及问题
- MySQL max_allowed_packet设置及问题
- MySQL max_allowed_packet设置及问题(转)
- 使用Freemarker模板生成JAVA代码
- 移动 IM 开发之心跳
- Android使用VideoView播放网络、rtsp码流视频
- Java对象的生命周期
- ajax 返回值方法(php)
- MySql变量max_allowed_packet奇怪问题
- 完美解决IE浏览器 option display:none 隐藏无效
- php自定义函数取数组中的值
- netmap源码分析(三)内核态收包过程
- Glusterfs简介以及其工作流程的简单分析
- javascriptinterface与java交互在android4.2以下版本的解决方案
- linux初学者常用命令
- unix环境高级编程--进程关系与守护进程
- centos 安装scipy 提示 no lapack/blas resources found错误