108.linux服务器时区问题,导致数据库和django项目不能启动

1.linux服务器时区问题:

# 当出现如上错误的时候,我执行如下命令之后发现,发现莫名其妙出来一个软连接从UTC只想了/usr/share/zoneinfo/Asia/Shanghai这个路径,而且整个软连接是红色的,说明根本没有源文件么/usr/share/zoneinfo/Asia/Shanghai
[root@localhost zoneinfo]# pwd
/usr/share/zoneinfo
[root@localhost zoneinfo]# 
[root@localhost zoneinfo]# ll |grep UTC
-rw-r--r--  8 root root    118 Sep 26  2019 UTC -> /usr/share/zoneinfo/Asia/Shanghai

# 但是当我执行如下命令的收,更奇葩的事情出现了,自己指向自己的一个软连接,同样是红色的这不是扯淡么,我直接把这个文件给删除了,然后从其他的服务器直接scp传过来一个就好了,发现项目可以启动了,但是mysql数据库访问不了
[root@localhost zoneinfo]# ll Asia/Shanghai 
-rw-r--r-- 5 root root 528 Sep 26  2019 Asia/Shanghai -> /usr/share/zoneinfo/Asia/Shanghai

# 执行如下命令,查看服务器的时间,发现local time竟然和Universal time一样,这不是扯淡么,我在北京服务器也在北京,数据库用的也是北京时间,你给我来个UTC时间,数据库发现存储的数据各种时间都对不上了,就访问不了了
[root@localhost zoneinfo]# timedatectl status
      Local time: Mon 2020-10-26 05:48:54 UTC  # 这里出问题了
  Universal time: Mon 2020-10-26 05:48:54 UTC
        RTC time: Mon 2020-10-26 05:48:54
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: n/a
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

2.linux服务器时区调整:

linux 使用timedatectl 修改时区和时间
使用timedatectl可以进行如下常见操作
https://www.cnblogs.com/zhi-leaf/p/6282301.html  # 如果知道如下命令直接用,不明白看这个博客
    
1.查看当前时间/日期/时区:timedatectl或者timedatectl status 
2.查看所有可用时区:timedatectl list-timezones
3.设置时区:timedatectl set-timezone “Asia/Shanghai”   或者  timedatectl set-timezone PRC  # 时区打错会报错,invalid XXX的一个错误
4.设置时间:timedatectl set-time HH:MM:SS # 设置Linux中的时间。只设置时间的话,我们可以使用set-time开关以及HH:MM:SS(小时,分,秒)的时间格式。timedatectl set-time 15:58:30
5.设置日期:timedatectl set-time YYYY-MM-DD # 在Linux中设置日期。只设置日期的话,我们可以使用set-time开关以及YY:MM:DD(年,月,日)的日期格式。timedatectl set-time 2015-11-20
6.设置日期时间:timedatectl set-time “YYYY-MM-DD HH:MM:SS” #设置完整时间 timedatectl set-time '16:10:40 2015-11-20'
7.设置硬件时钟为本地时间:timedatectl set-local-rtc 1  # 将你的硬件时钟设置为本地时区
[root@localhost zoneinfo]# timedatectl |grep local
 RTC in local TZ:yesno

8.设置硬件时钟为UTC时间:timedatectl set-local-rtc 0  # 将你的硬件时钟设置为协调世界时(UTC)
[root@localhost zoneinfo]# timedatectl |grep local
 RTC in local TZ: no

9.启动NTP时间同步(启用NTP服务或者Chrony服务):timedatectl set-ntp true
10.禁用NTP时间同步:timedatectl set-ntp false

3.mysql时区调整(建议使用)

      https://www.cnblogs.com/kunjian/p/13229256.html 他还有其他的mysql文章建议有空看看
原文地址:https://www.cnblogs.com/liuzhanghao/p/13878165.html