更改 AWS RDS mysql時區 -摘自網路

來源:互聯網
上載者:User

標籤:

AWS RDS

AWS上搭建資料庫的時候,不是DB on EC2就是RDS,但是選擇RDS時,Timezone怎麼處理?

「面向全球提供的AWS來講理所當然的是UTC」,而RDS也不是例外。把伺服器遷移到AWS時,「資料庫能不能使用中國時間」是常見的一個問題。 DB on EC2的話,配置一下系統的Timezone就可以,但是RDS是我們無法直接登入的因此需要使用MySQL的功能來實現。

介紹如何修改RDS MySQL的Timezone。

在RDS的Master使用者不同於MySQL root使用者,因此沒有SUPER許可權(管理者許可權)。因此不能使用SET GLOBAL命令修改Timezone。在這裡使用MySQL的init_connect參數裡使用SET SESSION命令來修改Timezone。Init_conect參數實在Parameter Group裡進行修改。

注意事項

  • rdsadmin使用者貌似是AWS用來管理RDS執行個體的使用者,無法判斷影響範圍因此不修改rdsadmin的Timezone。
  • 在init_connect參數裡直接填寫命令會無法正常運行,因此定義Stored Procedure,用CALL方式執行

操作流程如下

  1. 建立Stored Procedure
  2. 建立Parameter Group
  3. Parameter Grouup關聯到RDS
  4. 重啟RDS
1.建立Stored Procedure

以Master使用者登入到RDS,shared Schema建立Stored Procedure(shared.store_time_zong)。

把時間配置為中國標準時間(Asia/Chongqing)。

 
1234567891011 mysql> CREATE DATABASE shared;Query OK, 1 row affected (0.00 sec) mysql> DELIMITER |mysql> CREATE PROCEDURE shared.`store_time_zone`()    -> IF (POSITION(‘[email protected]‘ IN CURRENT_USER()) = 1) THEN    -> SET SESSION time_zone = ‘Asia/Chongqing‘;    -> END IF |Query OK, 0 rows affected (0.01 sec) mysql> DELIMITER ;

確認Stored Procedure好不好用

 
123456789101112131415161718 mysql> select now();+---------------------+| now()               |+---------------------+| 2015-04-09 05:10:41 |+---------------------+1 row in set (0.00 sec) mysql> CALL shared.store_time_zone;Query OK, 0 rows affected (0.07 sec) mysql> select now();+---------------------+| now()               |+---------------------+| 2015-04-09 13:10:52 |+---------------------+1 row in set (0.00 sec)

確認到時間變為中國標準時間(比UTC快8小時)。

2.建立Parameter Group

RDS上是以Parameter Group的形式來管理,MySQL的參數,在這裡不修改預設的Parameter Group,建立一個Parameter Group。

  1. 點擊:Parameter Groups
  2. 點擊:Create Parameter Group

  1. Parameter Group Family:選擇mysql5.6(因為我們的RDS MySQL版本是5.6.22)
  2. Group Name:timezone-Chongqing
  3. Description:init_connect call store_time_zone

  1. 選擇:timezone-chongqing
  2. 點擊:Edit Parameters

  1. init_connect:CALL shared.store_time_zone

  1. 點擊:Save Changes

  1. 選擇:RDS執行個體(awspack)
  2. 點擊:Instance Actions
  3. 點擊:Modify

  1. DB Parameter Group:timezone-chongqing
  2. 點擊:Continue

  1. 確認:DB Parameter Group為timezone-chongqing
  2. 點擊:Modify DB Instance

當使用者串連到RDS時,通過init_connect調用Stored Procedure。

3. 重啟RDS

重啟RDS執行個體之前確認一下,Parameter Group的狀態在applying。

  1. 點擊:RDS Dashboard的Instances
  2. 選擇:RDS執行個體awspack
  3. 點擊:Instance Actions
  4. 點擊:Reboot

重啟RDS執行個體之後確認,Parameter Group的狀態為in-sync

以aws_rds使用者登入到MySQL以後查看,時間為中國時間。

 
1234567891011121314151617181920212223242526272829 $ mysql -h awspack.crhydmkxhg6d.ap-northeast-1.rds.amazonaws.com -uaws_rds -pEnter password:Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 7Server version: 5.6.22-log MySQL Community Server (GPL) Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners. Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement. mysql> show global variables like ‘init_connect‘;+---------------+-----------------------------+| Variable_name | Value                       |+---------------+-----------------------------+| init_connect  | CALL shared.store_time_zone |+---------------+-----------------------------+1 row in set (0.00 sec) mysql> select now();+---------------------+| now()               |+---------------------+| 2015-04-09 13:44:10 |+---------------------+1 row in set (0.00 sec)

更改 AWS RDS mysql時區 -摘自網路

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.