代码之家  ›  专栏  ›  技术社区  ›  MatrixManAtYrService

如何在GCP Cloud Sql mysql 5.6实例中获取“max\u statement\u time”作为全局变量?

  •  0
  • MatrixManAtYrService  · 技术社区  · 6 年前

    从mysql版本5.7.8开始,变量 max_statement_time 已重命名为 max_execution_time . 我有一个应用程序,它检查数据库版本,并根据版本号设置正确的变量。

    当我将应用程序配置为使用本地mysql安装时,一切正常,但当我将其配置为使用Google Cloud Sql时,它在5.7上工作,但在5.6上失败。它给出的错误是:

    java.sql.SQLException: Unknown system variable 'max_statement_time'
    

    从我运行的mysql shell show variables like 'max%time' 得到了以下结果:

    • mysql 5.7通过percona: 最大执行时间
    • 通过google的mysql 5.7 最大执行时间
    • mysql 5.6通过percona max\u statement\u时间
    • 通过google的mysql 5.6[空]

    我看到google有关于这些标志的文档 here 但是 max\u statement\u时间 不显示在列表中。我可以做些什么来强制显示该标志,以便我的应用程序可以将其设置为愉快地继续吗?

    0 回复  |  直到 6 年前
        1
  •  2
  •   Andrei Tigau    6 年前

    云SQL是Google托管的服务。您没有权限自由更改所有mysql标志。 Here 这是您可以查看/修改的标志列表。如果 max_statement_time 不在该列表中,您无法执行任何与之相关的操作。

    我的建议是使用 max_execution_time 标记而不是 max\u statement\u时间 . 正如文件中所述:

    对于给定的标志,云SQL可能支持与相应的MySQL参数或选项不同的范围。

    对于具有简单MySQL数据库的CloudSQL,标志/气候不同。