如何在CloudSQL中保留MySQL配置变量?
作者:互联网
我似乎找不到任何有关如何在Google的CloudSQL中设置和保留MySQL配置变量的说明或示例.
我遇到的具体问题是,默认情况下,交互式会话会挂起8个小时,如果我与交互式会话断开连接,则该线程将保持打开状态,然后更新事务块,直到我杀死该线程.
set global interactive_timeout=300;
五分钟后终止交互式会话.
但是该解决方案不起作用,因为出现错误:
ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER privilege(s) for this operation
并且添加超级特权会失败,如下所示:
mysql> GRANT SUPER ON *.* TO 'root'@'%' IDENTIFIED BY '<pwd>';
ERROR 1045 (28000): Access denied for user 'root'@'%' (using password: YES)
因此,似乎Cloud SQL实例的root用户没有足够的权限来设置全局变量.
另外,我无法弄清楚如何保留该设置,以便在重新启动服务器时将其保留在原位.
我看过使用:
gcloud sql instances patch
但似乎没有能力修补这些设置.
任何帮助,将不胜感激.
解决方法:
现在,您可以在实例上设置有限数量的标志,请参阅this Google doc.
不幸的是,这不包括interactive_timeout标志.
原始答案
使用Cloud Console或gcloud实用程序无法在Cloud SQL上设置全局变量.
而且Cloud SQL不支持授予SUPER特权see the bottom of this page.
但是,在类似的问题Google Cloud SQL max-allowed-packet中,一位Google员工回答说,您可以通过cloud-sql@google.com用项目和实例名称通过电子邮件发送给他们,他们可以为您配置该设置,因此他们可以为您设置Interactive_timeout.
标签:google-cloud-sql,mysql 来源: https://codeday.me/bug/20191121/2055213.html