如何修改MySQL的max_allowed_packet参数值

概述

本文主要讲述如何修改MySQL的max_allowed_packet参数值。

详细信息

说明

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。

  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。

  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

修改MySQL的max_allowed_packet参数有两种方法,请您参照以下方式操作。

  • 修改MySQL的配置文件

  1. 查找MySQL配置文件my.cnf。

    find /* -name 'my.cnf'
  2. 切换到MySQL配置文件my.cnf所在目录,执行以下命令编辑的my.cnf配置文件。

    vi my.cnf

  3. [mysqld]项的配置下添加以下参数 ,具体参数值请参考您的需求。

    max_allowed_packet=32M

    若在my.cnf配置文件中无[mysqld]项,配置如下所示,具体参数值请参考您的需求。

    [mysqld]
    max_allowed_packet=32M
  4. 保存文件修改,然后重启MySQL数据库生效。

  • 在MySQL数据库中修改

  1. 执行以下命令登录数据库

    mysql -u [$Username] -p
    说明

    说明:[$Username]指的是您的数据库用户名,然后输入密码即可登录。

  2. 执行以下SQL语句修改参数,修改完成后退出数据库。

    set global max_allowed_packet = 33554432;   #修改参数值为32M

    说明

    数据库中max_allowed_packet 参数的单位为Byte,此处修改为32M,换算后为32*1024*1024=33554432Byte。

  3. 重新登录数据库,查看max_allowed_packet参数修改是否生效。

    show VARIABLES like '%max_allowed_packet%';

    image

适用于

  • 云服务器ECS