如何在phpmyadmin中设置max_allowed_pa​​cket?

use*_*378 3 mysql variables phpmyadmin

我必须max_allowed_packet在MySQL中改变大小phpmyadmin,但我不知道该怎么做.当我尝试set global max_allowed_packet=10Mphpmyadmin它给这个错误

#1227 - Access denied; you need the SUPER privilege for this operation
Run Code Online (Sandbox Code Playgroud)

我无法获得SUPER权限,因为服务器不在我的控制范围内.

那么,我该如何改变呢?

小智 6

您可以从“服务器变量和设置”页面更改变量,该页面可通过顶部的“变量”或在 [server]/phpmyadmin/server_variables.php 访问

查找“max_allowed_pa​​cket”,然后点击编辑 - 默认值为4194304(4MB,以字节为单位)。


Zak*_*Zak 5

您还必须在MySQL中设置它.通常在这里找到:

/etc/mysql/my.cnf
Run Code Online (Sandbox Code Playgroud)

例:

max_allowed_packet      = 16M
Run Code Online (Sandbox Code Playgroud)

如果服务器不在您的控制范围内,您将不得不要求访问该文件.


Ran*_*eed 3

你不能。

要动态更改它,就像SET您尝试过的那样,您需要SUPER特权,没有办法解决它。这是一件好事,因为 1. 该设置是全局的,这意味着它会影响所有连接,2. 它可能会危及服务器(例如,它使 DoS 更容易)。

要永久设置它,您需要访问 MySQL 配置文件并能够重新启动服务,正如 Zak 建议的那样。

然而,真正的问题是,为什么需要这么高的限制。除非您尝试导入大型转储,否则需要这样的限制几乎总是表明某些东西首先设计错误。如果您要导入转储,请尝试一次导入较小的位。