linux和mysql时间不同步解决

问题描述:在数据库插入数据过程中发现CURRENT_TIMESTAMP插入的当前不是北京时间,date命令查看Linux系统时间也不是北京时间,下面是时间同步的解决方法

Linux时间不同步解决

查看系统当前时间:

[root@manage01 ~]# date -R
Mon, 03 Dec 2018 21:15:44 -0500

因为上面查询出来的结果可以看出时区不一致,所以 同步时间方法 参考这些方法同步时间都不行。(中国的东八区编号是 +0800)

下面是正确的方法:

tzselect设置时区命令,根据选项选到中国的北京时间:

[root@manage01 ~]# tzselect 
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
 1) Africa
 2) Americas
 3) Antarctica
 4) Arctic Ocean
 5) Asia
 6) Atlantic Ocean
 7) Australia
 8) Europe
 9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.
#? 5
Please select a country.
 1) Afghanistan		  18) Israel		    35) Palestine
 2) Armenia		  19) Japan		    36) Philippines
 3) Azerbaijan		  20) Jordan		    37) Qatar
 4) Bahrain		  21) Kazakhstan	    38) Russia
 5) Bangladesh		  22) Korea (North)	    39) Saudi Arabia
 6) Bhutan		  23) Korea (South)	    40) Singapore
 7) Brunei		  24) Kuwait		    41) Sri Lanka
 8) Cambodia		  25) Kyrgyzstan	    42) Syria
 9) China		  26) Laos		    43) Taiwan
10) Cyprus		  27) Lebanon		    44) Tajikistan
11) East Timor		  28) Macau		    45) Thailand
12) Georgia		  29) Malaysia		    46) Turkmenistan
13) Hong Kong		  30) Mongolia		    47) United Arab Emirates
14) India		  31) Myanmar (Burma)	    48) Uzbekistan
15) Indonesia		  32) Nepal		    49) Vietnam
16) Iran		  33) Oman		    50) Yemen
17) Iraq		  34) Pakistan
#? 9
Please select one of the following time zone regions.
1) Beijing Time
2) Xinjiang Time
#? 1

The following information has been given:

	China
	Beijing Time

Therefore TZ='Asia/Shanghai' will be used.
Local time is now:	Tue Dec  4 10:16:18 CST 2018.
Universal Time is now:	Tue Dec  4 02:16:18 UTC 2018.
Is the above information OK?
1) Yes
2) No
#? 1

You can make this change permanent for yourself by appending the line
	TZ='Asia/Shanghai'; export TZ
to the file '.profile' in your home directory; then log out and log in again.

Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
Asia/Shanghai

执行如下命令:

vi .bash_profile

在末尾加入这两行:

TZ='Asia/Shanghai'
export TZ

然后运行命令刷新配置:

source .bash_profile

再次运行date命令发现时区已经成功修改:

[root@manage01 ~]# date -R
Tue, 04 Dec 2018 10:54:27 +0800

mysql时间不同步解决

linux时区重新设置后,发现mysql插入的数据还是原来时区的时间,下面是重新设置mysql时区的方法:

进入mysql控制台运行如下指令查看mysql时间。

select CURTIME();

查询后发现和date命令查询出来的时间不一样,下面开始修改:

运行临时解决命令:

SET time_zone = '+8:00';

刷新配置:

flush privileges;

修改配置文件使得下次重启mysql服务之后永久生效

vi /etc/my.cnf

添加如下配置:

[mysqld]
default_time_zone = '+8:00'

你可能感兴趣的:(Linnux,mysql)