Packet for query is too large (8129741 > 4194304)

我在写程序时将图片存入数据库时

出现

Packet for query is too large (8129741 > 4194304). You can change this value on the server by setting the max_allowed_packet' variable. 

数据库的原始设置max_allowed_packet太小

我的是window10系统

两个方法:

1、

修改my.ini(或者my-default.ini),修改前关掉MySQL的服务,再开(因为我没有关,输入查询语句后大小一直没变)

它在你的mysql-5.7.21-winx64的存放路径下(我的D:\Program Files\Mysql\mysql-5.7.21-winx64

在该文件下添加

[mysql]

max_allowed_packet=300*12024*1024

我修改成300M,看你自己想修改成多少

然后在数据库中输入(想查询时再打开)

SHOW VARIABLES LIKE '%max_allowed_packet%';

2、使用控制台修改

1)首先关掉MySQL服务(计算机管理---》服务和应用程序---》服务——》找到MySQL)

2)用管理员运行cmd,(window10是 :Windows PowerShell(管理员),位置在下图,右键就能看到)

打开一个shell窗口(看白色字体部分),注意文win10不能识别文件名的空格,有空格的文件名需要用双引号引起来,看我虾米那的Program Files就是用双引号

进入mysql-5.7.21-winx64的bin路径下

输入

mysqld --skip-grant-tables

3)结果如上图,然后重新打开一个shell(管理员),来到该路径下

输入

mysql -u root

set global max_allowed_packet = 2*1024*1024*10;

 SHOW VARIABLES LIKE '%max_allowed_packet%';(查询出来的还是原来的大小)

然后打开数据库的服务,

打开数据库

在查询语句的界面输入

SHOW VARIABLES LIKE '%max_allowed_packet%';

成功修改成你想要的大小。

猜你喜欢

转载自blog.csdn.net/clmmei_123/article/details/82385793