mysql配置修改_mysql配置修改

问题

今天写数据库(MySQL)然而出现的

Got a packet bigger than‘max_allowed_packet’bytes

瞬间懵逼???

输出看一下,原来真的是超出了MySQL里面的最大长度限制,具体可如下查看:

进入MySQL后:

mysql> show variables like "%max_allow%" +--------------------------+------------+

| Variable_name | Value | +--------------------------+------------+

| max_allowed_packet | 4194304 |

| slave_max_allowed_packet | 1073741824 | +--------------------------+------------+

而我的长度恰恰大于这个数值,然后确定是这个问题,原因是数据库内置配置的问题。。。修改!!!

解决方法

修改配置文件

方法一:

可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。

max_allowed_packet=20M

如果找不到my.cnf可以通过mysql –help | grep my.cnf去寻找my.cnf文件。(通常我自己的操作是直接find / -name ‘my.cnf’)

2. 重启mysql服务

3. 执行命令查看是否成功

SHOW VARIABLES LIKE '%max_allowed_packet%'

方法二:

使用命令修改max_allowed_packet 大小

1. 执行命令

SET GLOBAL max_allowed_packet = 2*1024*1024*10 -- 单位为B

.

2. 然后关闭掉这此链接,再进入执行命令

mysql> SHOW VARIABLES LIKE '%max_allowed_packet%

///现在的结果是:

+--------------------------+------------+

| Variable_name | Value |

+--------------------------+------------+

| max_allowed_packet | 20971520 |

| slave_max_allowed_packet | 1073741824 |

+--------------------------+------------+

上面我的是第一种方法修改后不生效,然后只能使用第二种。。。根据网上说法,具体问题如下:

根据自身经验和网上论坛帖子,第二种方法出现问题的概率相对较小。第一种我在最近的一次设置上,不起作用,使用第二种方式就没有问题, 第一种通过修改配置文件之后,max_allowed_packet 的值 不定期的自动改变, 网上对于这种解释是因为mysql内存不足,导致的 第二种修改配置文件之后,max_allowed_packet 的值 之后,没有生效,重启也没有生效,一种问题是本地的客户端与mysql服务器没有断开查询的,重新链接,查看是否生效,如果没有生效,使用第二种方式,进行修改

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值