mysql sql长度限制

sql语句的长度跟数据包是成正比的,长度越长,数据包占用内存越大。

mysql通讯的数据包大小设置是1M,所以如果传过来的mysql语句内存大于1M,就会失败。

解决办法:1.注意精简sql语句,可以分批次执行,减少数据库压力。

       2.修改数据库通讯数据包大小,mysql的配置文件(my.ini)中的max_allowed_packet = 需要修改的值

       修改为合适的值。

       注意打开查看隐藏文件

       my.ini 一般在C:\ProgramData\MySQL\MySQL Server 5.5

       或者打开任务管理器,找到mysql进程右键打开文件位置

       如果还找不到,有的是有个my-default.ini,直接复制一份修改里面max_allowed_packet,把名字改为my.ini

       3.在mysql 命令行中运行

                   set global max_allowed_packet = 2*1024*1024*10

                   然后退出命令行,重启mysql服务,再进入。

                   show VARIABLES like '%max_allowed_packet%';

                   查看下max_allowed_packet是否编辑成功

你可能感兴趣的:(mysql)