更改 AWS RDS mysql时区 - {摘自网络,根据我遇到问题的实际情况进行了更新}

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。在这里使用创建新的Parameter Group来修改Timezone。

注意事项

  • rdsadmin用户貌似是AWS用来管理RDS实例的用户,无法判断影响范围因此不修改rdsadmin的Timezone

操作流程如下

  1. 创建Parameter Group
  2. Parameter Grouup关联到RDS
  3. 重启RDS

1.创建Parameter Group

RDS上是以Parameter Group的形式来管理MySQL的参数,在这里不修改默认的Parameter Group,创建一个Parameter Group。

  1. 点击:Parameter Groups
  2. 点击:Create Parameter Group

 

  1. Parameter Group Family:选择mysql5.7(因为我的RDS MySQL版本是5.7)
  2. Group Name:timezone-shanghai
  3. Description:timezone-shanghai

 

 

 

  1. 选择:timezone-shanghai
  2. 点击:Edit Parameters

 

  

  1, 查找参数time_zone

  2, 输入值Asia/Shanghai

  3, 点击:Save Changes

 

 

 

2.Parameter Grouup关联到RDS

  1. 选择:RDS实例
  2. 点击:Modify

 

  1. DB Parameter Group:timezone-shanghai
  2. 点击:Continue

 

3. 重启RDS

重启RDS实例之前确认一下,Parameter Group的状态在applying

  1. 点击:RDS Dashboard的Instances
  2. 选择:RDS实例
  3. 点击:Instance Actions
  4. 点击:Reboot

 

 

重启RDS实例之后确认,Parameter Group的状态为in-sync

 

以aws_rds用户登录到MySQL以后查看,时间为中国时间。

posted @ 2020-07-30 16:24  gaolo  阅读(308)  评论(0)    收藏  举报