问题
I'm using CURRENT_TIMESTAMP
in Google Cloud SQL and according to Google, it returns the server's current time.
Currently, with the time that it returns, it looks like the server's at UTC -1 (i.e., in the Atlantic Ocean). This is not very helpful.
How do I change the timezone and have it display the right time (i.e., a time zone of my own choosing) whenever I call CURRENT_TIMESTAMP
?
回答1:
There is a new way to to change Google cloud SQL time zone https://stackoverflow.com/a/29758598/4121388
Instructions: https://cloud.google.com/sql/docs/mysql-flags
- Go to the Google Developers Console.
- Create a new Developers Console project, or open an existing project by clicking on the project name.
- In the sidebar on the left, click Storage > Cloud SQL to show a list of Cloud SQL instances for the project.
- Open your instance and click Edit. If you need to create a new instance, click New instance.
- Scroll down to the MySQL Flags section.
- Choose flags from the drop-down menu and set their values.
- Click Save. You can check your flags under MySQL Flags on the overview page.
回答2:
Cloud SQL sets the system time as UTC.
You can set the timezone for an individual session with a statement like:
SET @@session.time_zone='-07:00';
You can use named (and daylight savings aware) timezones such as "US/Pacific" if you first set up the timezone table by running a system command like:
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -h YOUR_INSTANCE_IP -u root -p mysql
来源:https://stackoverflow.com/questions/26492610/change-google-cloud-sql-current-timestamp-time-zone