您可以通过修改AWS参数组的参数:time_zone修改MySQL的时区。关于如何修改亚马逊AWS参数:AWS参数是动态的,所以修改后立即生效。
对于已经建立的连接,不生效;对于新建立的连接才生效。
如果您创建了只读副本,您可以为主库和读从库设置不同的时区。
如果是从快照恢复数据库,时区将会被设置成UTC
如果是恢复到时间点,时区将会保持和原库一致
使用mysql连接工具或者命令好工具都可以。我用workbench输入命令行:
select now(); 查看mysql系统时间。和当前时间做对比
set global time_zone = '+8:00';设置时区更改为东八区
flush privileges; 刷新权限
然后退出后重新登录就可以了,显示当前时间和我现在的时间一致了。
这个问题得分成几个子问题
1 数据库本身的时区
2 数据库里数据的时区
3 python代码里的时区
首先对1你可以通过命令去设置数据库的时区 像mysql直接用sql语句就能设置
其次对2 在存储时间时尽量用timestamp去存储 这样读出来可以方便的转成所需用的时区的时间
3 python自己的时区 比如你用datetime生成时间时需要每次都记得时区设置 在django和flask里设置好默认时区
做好这三点才能保证程序和数据库和数据的时区保持统一
1。在mysql的命令模式下使用
mysql > select CURTIME();
或
mysql > select now();
看当前时间是否正确,可以看到mysql当前使用的是那一个时区的时间。
2。在mysql命令行中更改时区
mysql > SET time_zone = '+8:00'; # 此为北京时,我们所在东8区
mysql> flush privileges; # 立即生效
此时mysql时区已更改正确,与系统时区都使用为 Shanghai时间了。
#### 这种方法好像只能在终端上使用,退出终端后时间又会变成原来的,看来只能重启mysql了。
3。重启mysql也应没有问题,此时mysql会主动读取系统时间。
方法二:
如果mysql数据库可以重启,直接重启,mysql应可以立即主动读取系统时间,如果不行则更改mysql的配置文件(mysqlcnf)
在mycnf的 [mysqld]区域中加上
default-time_zone = '+8:00' #此为北京时。
补充:
如果想临时解决时间显示问题,可以用php或其他语言动态修改下mysql的时区。
具体方法:
在mysql_connect()下使用mysql_query("SET time_zone = '+8:00'")。
这样可以在保证你不重启的情况下改变时区。但是mysql的某些系统函数还是不能用如:now()。
以上就是关于如何更新rds oracle 时区全部的内容,包括:如何更新rds oracle 时区、mysql workbench中怎么修改时区、pythonmktime 函数 时区等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)