问题标签 [max-allowed-packet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4245 浏览

php - MySQL:发送 QUERY 数据包时出错。PID=2

我尝试执行一个非常简单的查询来删除一行。“max_allowed_pa​​cket”等于“1073741824”这就是为什么我很困惑为什么我得到

我从表中仅选择 25 行,在删除行后通过 sms 和 sleep(1) 发送数据。

询问:

我在这里循环遍历行并通过短信发送行数据然后将其删除

但有时(只是有时不是每次)我得到那个错误并且行没有被删除,所以短信被多次发送给同一个用户,因为它仍然在表中。有什么想法可以解决这个问题吗?

提前致谢。

0 投票
2 回答
9901 浏览

mysql - 在 AWS RDS 上托管的数据库上导入 SQL 脚本期间出现 MySql 错误“max_allowed_pa​​cket”字节

我在 AWS RDS 上的 MySql 数据库上导入 SQL 文件时遇到问题,在导入 SQL 文件初始表期间,它突然显示错误。

在此处输入图像描述

我知道这个错误,我可以通过增加 MySQL 配置中的 max_allowed_pa​​cket 大小来解决这个问题,但不是本地 Mysql 是 AWS RDS 显示我该怎么办?

0 投票
1 回答
236 浏览

c# - 如何通过 c# 查询 MySQL Max_Allowed_Packet?

我正在尝试检查max_allowed_packet大小的值。这是我的代码:

我怀疑查询的格式或执行错误,因为我的结果总是

-1

编辑:

我已经编辑了要使用的代码,sql.ExecuteReader()但现在的结果是:

“枚举没有结果”。

0 投票
0 回答
1082 浏览

mysql - 错误 2020 (HY000):尝试从表中检索数据时,数据包大于“max_allowed_pa​​cket”字节

我正在本地设置一个 Web 应用程序,我必须获取表中的所有项目,但是当我这样做时select * from my_table,它给了我这个错误ERROR 2020 (HY000): Got packet bigger than 'max_allowed_packet' bytes

我尝试了很多选择,其中一些包括:

-设置max_allowed_packet我的\etc\mysql\mysql.conf.d\mysqld.cnf\etc\mysql\mysql.conf.d\mysqldump.cnf(我没有使用转储,但为了安全起见),设置为 1G 然后 2G 等。

- 还尝试在终端的mysql中使用set global net_buffer_length=1000000;andset global max_allowed_packet=1000000000;

当我使用mysql --max_allowed_packet=100M -u root -它提供所有数据时,我取得了一些成功,但问题是它只能在终端中工作,但我必须在我的 Web 应用程序中获取数据,它不会工作。

有趣的是:我尝试使用limit,所以当我使用时select * from my_table limit 200,它会给出预期的结果(但只有200行)。总行数约为 350,因此错误出现在高于 200 行的数据中。要检查行结果的大小,我使用了以下查询: select sum(row_size) from ( select char_length(id)+ char_length(code)+ char_length(name)+ char_length(url) +char_length(group)+ char_length(template)+ char_length(html) + char_length(association) + char_length(status) + char_length(created_at)+ char_length(updated_at) + char_length(html_generation_date) as row_size from myTable limit 311,1) as tbl1;这给了我:43095 而对于limit 150,1上述查询给出:94428。所以行大小似乎没有成为问题。

我尝试了MySQL Error 1153 - Got a packet greater than 'max_allowed_pa​​cket' byteshttps://serverfault.com/questions/102564/error-2020-got-packet-bigger-than-max-allowed-packet-bytes -当倾销表

基本上,我想做这样的事情:myTable::model()->findAll();在我的 PHP Yii 应用程序中,它相当于select * from my_table,然后我可以使用数据来填充我的列表。

表架构是: +----------------------+--------------+------+-----+-------------------+-----------------------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | code | varchar(150) | NO | | NULL | | | name | varchar(150) | NO | | NULL | | | url | varchar(255) | NO | | NULL | | | group | int(11) | NO | MUL | NULL | | | template | int(11) | NO | | NULL | | | html | longtext | YES | | NULL | | | association | varchar(100) | NO | | NULL | | | status | tinyint(1) | NO | | NULL | | | created_at | timestamp | NO | | CURRENT_TIMESTAMP | | | updated_at | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | | html_generation_date | timestamp | YES | | NULL | |

而mysql版本是:14.14 分布:5.7.26。数据库引擎是 InnoDB。

任何帮助将不胜感激。

0 投票
0 回答
984 浏览

mysql - 如何修复“SchemaUpdate - HHH000319:无法获取数据库元数据”,因为用于查询的数据包太大(5,526,600 > 65,535)

0我想用全局服务器上的mysql数据库连接spring boot,但是发现报错'HHH000319: Could not get database metadata' 因为Packet for query is too large (5,526,600> 65,535)。您可以通过设置“max_allowed_pa​​cket”变量在服务器上更改此值。但是我已将 max_allowed_pa​​cket 替换为更大,即使 max_allowed_pa​​cket 变量的值大于发送的数据包的值,但仍然出现相同的错误

我已将 cpanel 中 phpmyadmin 变量设置中的 max_allowed_pa​​cket 变量替换为 max_allowed_pa​​cket = 999,999,999。我也重新启动了我的服务器

pom.xml

应用程序上下文.xml

我希望能够与全球服务器上的 mysql 数据库连接,但我收到此错误:

0 投票
1 回答
497 浏览

mysql - 更改 max_allowed_pa​​cket 参数后 MySQL 服务器不启动

Windows 10 Pro 32 GB x64 上的 MySQL 社区版 8.0.13

我正在运行社区服务器 8.0.18(从命令行而不是服务),我需要将 max_allowed_pa​​cket 值设置为高于默认值。

但是,服务器在 max_allowed_pa​​cket=16M 开始时挂起,两者都在

  • 在 ini 文件中进行了更改,或者
  • 该值作为命令行参数传递

更新:在合法更改后服务器无法启动似乎很奇怪 - 所以我只是保存了 conf (my.ini) 文件而不做任何更改。得到了同样的结果

ini文件如下:

我遵循的步骤是:

  1. 安装带有高级日志记录的 MySQL 并打开所有日志且无需设置服务
  2. 通过运行 mysqld 启动服务器:启动正常
  3. 通过运行 mysqladmin -u root -p shutdown 停止服务器:shutdown ok
  4. 更改 my.ini 中的值
  5. 启动服务器 - 服务器挂起

完整日志记录已打开,但甚至没有任何内容写入日志。日志中的最后一项是:

此时,唯一可能的方法是重新启动,卸载然后重新安装。

我在论坛上搜索过类似问题,之前的建议均不适用/或不起作用。

0 投票
1 回答
123 浏览

php - mysql INSERT 失败但未抛出错误:max_allowed_pa​​cket:设置显示冲突结果

我通过 _POST 成功地将数据接收到服务器客户端帐户,但是当行数据高于 ~25MB 时,我无法将数据插入到包含 longblob 类型的行表中。我看不到 php 准备好的语句/文件引发的任何错误,php 文件正常关闭。我正在检查我的 max_allowed_pa​​cket 是否配置正确。

我没有服务器 root 权限和访问权限,我看不到 my.cnf,我正在与我的主机交谈以确保客户端和服务器 max_allowed_pa​​cket都设置为 256M。

php 文件插入部分:

这些是我正在做的检查,我是否遗漏了任何以确保 max_allowed_pa​​cket 不会在其他地方被覆盖并且在所有地方都正确设置?

客户端设置检查:所有这三个检查给我 256MB max_allowed_pa​​cket:

但是,我成功登录到 mysql 命令提示符(mysql --user userName --password databaseName)检查 max_allowed_pa​​cket 但它显示为 NULL,这是什么意思?

服务器设置检查:如何检查 GLOBAL 和 SESSION 的服务器“max_allowed_pa​​cket”?我尝试将上面的“mysql”替换为“mysqld”,但没有得到任何结果和警告,我无法与“max_allowed_pa​​cket”的大小相关:

mysqldump 检查:最后,我尝试使用上面的三个命令(即 mysqldump SHOW VARIABLES LIKE 'max_allowed_pa​​cket' )将“mysql”替换为“mysqldump”,但我被拒绝访问。作为替代方案,然后我成功登录到 mysqldump 以读取 max_allowed_pa​​cket (mysqldump --user userName --password databaseName),并且我在屏幕上滚动了很多垃圾,所以我无法获得这个值。

0 投票
1 回答
221 浏览

linux - 用于查询的数据包很大。设置 max_allowed_pa​​cket

当我通过 phpmyadmin 连接到我的数据库时,一切正常,它向我显示了数据。当我在我的服务器上时,我可以看到所有数据并使用它。

但是当我尝试连接到我的服务器时,我收到了这个错误:

我在这里得到最大允许的数据包大小:

我将文件 nano /root/.my.cnf 更改为:

但我仍然收到此错误;

0 投票
0 回答
48 浏览

mysql - mysql服务器日志文件的大小随着警告而增加

版本: Mysql server 版本为 8.0,安装在 Windows server 2019 上。

问题陈述:来自位置 C:\programdata\mysql80\data\ 的错误日志文件正在增加,大约为 ~100GB。错误日志语句是:

[警告] [MY-011959] [InnoDB] 在缓冲池中很难找到空闲块(6091 次搜索迭代)!6091 刷新页面的尝试失败!考虑增加缓冲池大小。在您的 Unix 版本中,fsync 也可能非常慢,或者完全冻结在操作系统内核中。然后升级到更新版本的操作系统可能会有所帮助。查看下面诊断信息中的 fsync 数量。待刷新(fsync)日志:0;缓冲池:0。1738 个 OS 文件读取,217 个 OS 文件写入,45 个 OS fsync。启动 InnoDB Monitor 以将进一步的诊断信息打印到标准输出。

设想:

  1. 无法将超过 4MB 的数据大小更新到数据库,因此我们将“mysql.ini”文件中的“max_allowed_pa​​cket”从默认的 4M 更改为 256M。
  2. 此设置重新启动 mysqld 服务后,此数据库更改后一切正常。
  3. 但 2 天后,我们遇到了上述问题,结果磁盘空间已满,数据库连接在队列中挂起。
  4. 尝试停止 mysql80 服务并删除 error.log 文件并将 max_allowed_pa​​cket 恢复为其默认大小。
  5. 但是随着更改,错误文件也会再次创建并发出相同的警告。

有什么可能的问题或解决方法?

0 投票
0 回答
83 浏览

java - max_allowed_pa​​cket 变量更改未解析 Packet for query is too large 错误

我在 linux 机器上托管了 MYSQL 服务器。我正在尝试从我的 Java 应用程序访问服务器。在此过程中,我遇到了一条错误消息,该错误消息在指定的分辨率下似乎很常见。我在 Mysql 服务器上尝试了相同的方法,即 my.cnf 并更新了 max_allowed_pa​​cket 在此处输入图像描述 并执行了重新启动。

看到的错误是

我的最终目标是通过 SSH 连接远程 MySQL 服务器。但是这个问题阻碍了我的追求。任何有关分辨率的输入都将非常有帮助。