MySQL 某个字段存储不了内容

1. 原因

  某个字段存储的内容过大

2. 解决

修改max_allowed_packet参数

max_allowed_packet参数是指mysql服务器端在一次传送数据包的过程当中最大允许的数据包大小。如果超过了设置的最大长度,则会数据库保持数据失败。

2.1 查询参数

show variables like '%max_allowed_packet%';

或者

select @@max_allowed_packet;

2.2 修改参数

1)临时修改(重启MySQL 失效)

设置100M:

set global max_allowed_packet = 100 * 1024 * 1024;
2)永久修改(改配置文件)

Linux: 

vim /etc/my.cnf
[mysqld]
max_allowed_packet = 100M

Windows:修改 my.ini 文件

注意:

● 通过命令行方式修改时,不能用M、G,只能这算成字节数设置。使用配置文件修改才允许设置M、G单位。

● 命令行修改之后,需要退出当前回话(关闭当前mysql server链接),然后重新登录才能查看修改后的值。通过命令行修改只能临时生效,如果下次数据库重启后对应的配置就会又复原了,因为重启的时候加载的是配置文件里面的配置项。

● max_allowed_packet 最大值是1G(1073741824),如果设置超过1G,查看最终生效结果也只有1G

你可能感兴趣的:(mysql,数据库)