数据库
首页 > 数据库> > 如何在CloudSQL中保留MySQL配置变量?

如何在CloudSQL中保留MySQL配置变量?

作者:互联网

我似乎找不到任何有关如何在Google的CloudSQL中设置和保留MySQL配置变量的说明或示例.

我遇到的具体问题是,默认情况下,交互式会话会挂起8个小时,如果我与交互式会话断开连接,则该线程将保持打开状态,然后更新事务块,直到我杀死该线程.

solution I found is this one

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