zoukankan      html  css  js  c++  java
  • 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 |
    +--------------------------+------------+

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

    解决方法

    修改配置文件

    方法一:

    1. 可以编辑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服务器没有断开查询的,重新链接,查看是否生效,如果没有生效,使用第二种方式,进行修改

  • 相关阅读:
    Linux 安装 MysQl
    Linux上安装pip以及setuptools
    Linux 安装 python3
    基础 项目部署 上线
    wepsocket 了解一下
    scrapy之中间件
    scrapy之定制命令
    网络爬虫之scrapy框架设置代理
    爬虫之Xpath详解
    3.8软件测试模型
  • 原文地址:https://www.cnblogs.com/zswbky/p/8454065.html
Copyright © 2011-2022 走看看