更改 Google Cloud SQL CURRENT_TIMESTAMP 时区?

Posted

技术标签:

【中文标题】更改 Google Cloud SQL CURRENT_TIMESTAMP 时区?【英文标题】:Change Google Cloud SQL CURRENT_TIMESTAMP time zone? 【发布时间】:2014-12-17 00:38:39 【问题描述】:

我在 Google Cloud SQL 中使用CURRENT_TIMESTAMP,根据Google,它返回服务器的当前时间。

目前,随着它返回的时间,它看起来像服务器在 UTC -1(即在大西洋)。这不是很有帮助。

当我致电CURRENT_TIMESTAMP 时,如何更改时区并让它显示正确的时间(即我自己选择的时区)?

【问题讨论】:

【参考方案1】:

有一种改变谷歌云 SQL 时区的新方法 https://***.com/a/29758598/4121388

说明:https://cloud.google.com/sql/docs/mysql-flags

    转到 Google Developers Console。 创建一个新的 Developers Console 项目,或打开一个现有项目 点击项目名称。 在左侧边栏中,单击存储 > Cloud SQL 以显示列表 项目的 Cloud SQL 实例数。 打开您的实例并单击编辑。如果您需要创建一个新的 实例,点击新建实例。 向下滚动到 MySQL 标志部分。 从下拉菜单中选择标志并设置它们的值。 单击保存。您可以在 MySQL 标志下检查您的标志 概览页面。

【讨论】:

这太棒了!谢谢。【参考方案2】:

Cloud SQL 将系统时间设置为 UTC。

您可以使用如下语句为单个会话设置时区:

SET @@session.time_zone='-07:00';

如果您首先通过运行以下系统命令设置时区表,则可以使用命名(和夏令时)时区,例如“US/Pacific”:

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -h YOUR_INSTANCE_IP -u root -p mysql

【讨论】:

只是关于如何在云 SQL 实例上运行 mysql_tzinfo_to_sql 的一些想法。 mysql_tzinfo_to_sql 似乎不存在,但 /usr/share/zoneinfo 存在。看起来可以安装 mysql-server-5.5(包含 mysq_tzinfo_to_sql 的 Debian 软件包)。不过,我不确定如何清理并销毁云 shell 文件。

以上是关于更改 Google Cloud SQL CURRENT_TIMESTAMP 时区?的主要内容,如果未能解决你的问题,请参考以下文章

删除 Google Cloud Datalab SQL 模块参数中的引号?

Google Cloud Compute Engine 是不是与 Google Cloud SQL 分开

可以更改 Google Cloud Platform 项目 ID?

Google Cloud Spanner 和 Cloud SQL 有啥区别?

无法从 Data Fusion 连接 Cloud SQL mySql 实例。异常“无法创建套接字工厂 'com.google.cloud.sql.mysql.SocketFactory”

Google Cloud 线上课堂 | 厚积薄发,解读最新 Google Cloud SQL