use*_*378 3 mysql variables phpmyadmin
我必须max_allowed_packet
在MySQL中改变大小phpmyadmin
,但我不知道该怎么做.当我尝试set global max_allowed_packet=10M
在phpmyadmin
它给这个错误
#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_packet”,然后点击编辑 - 默认值为4194304
(4MB,以字节为单位)。
您还必须在MySQL中设置它.通常在这里找到:
/etc/mysql/my.cnf
Run Code Online (Sandbox Code Playgroud)
例:
max_allowed_packet = 16M
Run Code Online (Sandbox Code Playgroud)
如果服务器不在您的控制范围内,您将不得不要求访问该文件.
你不能。
要动态更改它,就像SET
您尝试过的那样,您需要SUPER
特权,没有办法解决它。这是一件好事,因为 1. 该设置是全局的,这意味着它会影响所有连接,2. 它可能会危及服务器(例如,它使 DoS 更容易)。
要永久设置它,您需要访问 MySQL 配置文件并能够重新启动服务,正如 Zak 建议的那样。
然而,真正的问题是,为什么需要这么高的限制。除非您尝试导入大型转储,否则需要这样的限制几乎总是表明某些东西首先设计错误。如果您要导入转储,请尝试一次导入较小的位。