先用now()獲取系統時間,發現時間不對(差8個小時):
mysql> select now(); +---------------------+ | now() | +---------------------+ | 2019-04-25 14:44:46 | +---------------------+
再查看linux系統及mysql的時區設置(system_time_zone是linux系統設置的時區,time_zone是mysql設置的時區):
mysql> show variables like "%time_zone%"; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | system_time_zone | xxx | | time_zone | yyy | +------------------+--------+
================= 解決方案 ================================
1、首先要保證time_zone的值為SYSTEM:
vi /etc/my.cnf 在[mysqld]區域中加上: default-time_zone = 'SYSTEM'
2、然后要保證linux系統時間是正確的: