5

I have to change max_allowed_packet size in MySQL using phpmyadmin, but I don't know how to do it. When I try set global max_allowed_packet=10M in phpmyadmin it give this error

#1227 - Access denied; you need the SUPER privilege for this operation

I can't get SUPER privilege, because server is not in my control.

So, How can I change it?

4

3 回答 3

6

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

/etc/mysql/my.cnf

例子:

max_allowed_packet      = 16M

如果服务器不在您的控制范围内,您将不得不请求访问所述文件。

于 2013-07-08T21:41:12.057 回答
2

你不能。

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

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

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

于 2013-07-08T23:07:54.653 回答
2

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

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

于 2020-04-23T09:27:57.807 回答