当前位置:首页 > 数据库 > 正文内容

如何解决 MySQL max_allowed_packet 错误

root6年前 (2020-10-23)数据库1498


修改global变量并退出session,重新登录,可行。

修改数据库配置,未测试。

方法/步骤

  1. 先看看与这个错误相关的后台异常 : 

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

    一旦数据库出现这个问题,基本执行任何查询语句,后台都会报这个错!(除非查询所得数据量特别少)!

  2. 先登录数据库,查看 max_allowed_packet 这个参数值

    连接数据库服务器,登录 mysql, 执行命令 : 

    show variables like '%max_allowed_packate%' 

    即可查看这个系统参数目前的值 ! 我的系统,目前显示只有 1024 字节,确实太小了!

    如何解决 MySQL max_allowed_packet 错误

  3. 通过 mysql 命令更改这个值到 100M !

    连接数据库服务器,登录 mysql, 执行命令 : 

    set global max_allowed_packet = 100*1024*1024

    退出后,重新登录 mysql ,再次查看这个系统项的值, 注意,必须重新登录mysql,否则这个值还是显示为原始值(缓存)!

    修改后,这个配置项显示为 100 M !

    如何解决 MySQL max_allowed_packet 错误

  4. 修改配置文件--Windows

    我们刚才的修改是针对运行环境,但如果我们的配置文件不变,则重启数据库后,这个值又恢复为原始值了,对于 Windows 下的 MySQL,我们需要修改其配置文件 my.ini , 这个文件在 MySQL 的安装根目录下。

    注意: MySQL 配置文件分为几个段 (Section), 包括 [mysql], [mysqld], [mysqldump] 等, 我们需要在 [mysqld] 段下添加配置项 : 

    max_allowed_packet = 100M

    如何解决 MySQL max_allowed_packet 错误

    如何解决 MySQL max_allowed_packet 错误

  5. 修改配置文件--Linux

    在 Linux 中,MySQL 对应的配置文件是 my.cnf , 我们在Linux终端输入如下命令 : 

    mysql --help | grep my.cnf

    可以查看 MySQL 所使用的 my.cnf 列表(优先级列表,先找到的配置文件生效),MySQL 会逐个目录寻找这个文件,直到找到为止!

    我们逐个目录找到我们系统 MySQL 所使用的 my.cnf 配置文件,找到对应的配置项,修改为 100M 即可。

    如何解决 MySQL max_allowed_packet 错误

    如何解决 MySQL max_allowed_packet 错误


扫描二维码推送至手机访问。

版权声明:本文由一叶知秋发布,如需转载请注明出处。

本文链接:https://zhiqiu.top/?id=21

分享给朋友:

相关文章

python操作数据库动态传递数据库名/数据库表出现的问题

python操作数据库动态传递数据库名/数据库表出现的问题

环境:py3/py2 依赖包:pymsql/MySQLdb开发某项时,j对项目进行安全检查,给出sql注入风险。修改代码是发现是sql语句进行了拼接。拼接的内容是数据库名/数据表名。然后我尝试了对数据库名和数据表名进行传参方式进行...

mysql启动失败 日志InnoDB: Ignoring the redo log due to missing MLOG_CHECKPOINT between the checkpoint 3485

mysql报错Ignoring the redo log due to missing MLOG_CHECKPOINT betweenmysql版本:5.7.33系统版本:ubuntu16.04由于电脑突然关闭,跑在VMware里面的mys...

mysql 导出csv格式数据

mysql -e "select * from newsdb.t_hk_stock_news where id <100  ...

postgresql 的安装使用

安装centos系统 9.6版本# Install the repository RPMsudo yum install -y https://download.postgresql.org/pub/repos/yum/repor...

清空postgresql的缓存

系统:centos,版本:postgresql-9.6因为要测试postgresql的性能,当多次查询的时候查询结果会因为缓存用时很短,不能模拟出现实使用的场景。因此需要清除缓存。首先stop掉postgresqlsystemctl sto...

centos7 快速搭建 mysql

https://blog.csdn.net/qq_36582604/article/details/80526287...