centos7 + mysql5.7 修改select now(); 时间显示错误的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7 + mysql5.7 修改select now(); 时间显示错误的问题相关的知识,希望对你有一定的参考价值。

昨天开发人员提出,在使用mysql数据库时,查看到的数据库时间有问题,与本地时间不一致;


一:查看问题

    1.在数据库:查看时间;

        mysql> mysql> select now();

            +---------------------+

            | now()               |

            +---------------------+

            | 2017-06-15 15:10:15 |

            +---------------------+

            1 row in set (0.00 sec)

   2.在linux服务器: 查看时间:

            [[email protected] ~]# date

              Wed Jun 15 15:10:11 EDT 2017

 


     备注:

       EDT:指美国东部夏令时间,波士顿、纽约市、华盛顿哥伦比亚特区,都在这个时区内,跟北京时                     间有12小时的时差,晚12小时


       CST:可以指下面两种:

                1.美国中部标准时间(西六区,-6:00),中国是东八区(+8:00),北京时间比美国中部标准时间                      早14个小时。3:45 PM CST 是北京时间凌晨1:45。

               2.澳大利亚标准时间(+10:30),中国是东八区(+8:00),北京时间比澳大利亚标准时间晚2个半                    小时。3:45 PM CST 是北京时间下午上午5:45。


二:现在要改成北京时间的时区CST,并且在数据库中的时间也要与服务器的时间显示一致,修改如下:

1.

将edt时区改为ect时区:

修改前:

[[email protected] ~]# date

Wed Jun 15 15:11:06 EDT 2017


修改:

[[email protected] ~]# mv /etc/localtime /etc/localtime.bak

[[email protected] ~]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

修改后:

[[email protected] ~]# date

Thu Jun 15 15:16:09 CST 2017


3.

linux时钟有两个,一个是硬件时钟,即Bios时间,就是我们进行CMOS设置时看到的时间,另一个是系统时钟,是linux系统Kernel时间。

两者经常不一致;

解决:

# clock --systohc          # 同步系统时间到硬件时间

# clcok -w                     # 强制把系统时间写入CMOS


查看效果:

服务器:

[[email protected] ~]# date

Thu Jun 15 15:23:26 CST 2017


mysql数据库:

mysql> select date_format(now(),"%Y-%m-%d %H:%i:%s");

+----------------------------------------+

| date_format(now(),"%Y-%m-%d %H:%i:%s") |

+----------------------------------------+

| 2017-06-15 15:23:29                    |

+----------------------------------------+

1 row in set (0.00 sec)


mysql数据库与linux服务器时间一致,且为CST时区。任务完成!


本文出自 “敬管叔鲜” 博客,谢绝转载!

以上是关于centos7 + mysql5.7 修改select now(); 时间显示错误的问题的主要内容,如果未能解决你的问题,请参考以下文章

MySQL--03CentOS7下安装MySQL5.7

centos7安装mysql5.7修改设置密码策略

Centos7.3 mysql5.7 密码修改及远程登陆配置

Centos7.4 修改MySQL5.7 root 密码

Centos7.3下mysql5.7.18安装并修改初始密码的方法

centos7 + mysql5.7 修改select now(); 时间显示错误的问题