修改mysql的时区为荷兰时区东一区并支持夏令时

1、先修改数据库的my.cnf文件,在 [mysqld] 之下加

default-time-zone = '+1:00'

2、进入mysql终端,mysql 数据库中的时区信息默认为空

show tables like "%time%";
SELECT COUNT(*) FROM mysql.time_zone_name;

3、若不为0则需要查看是否有荷兰时区的信息

SELECT * FROM time_zone_name WHERE name LIKE 'Europe/Amsterdam%’;

4、若为0,则需要导入荷兰时区的信息
a、先查看服务器是否有荷兰时区的信息,在/usr/share/zoneinfo/Europe目录下是否有Amsterdam文件,没有可以在macbook中的/usr/share/zoneinfo/Europe目录处复制一份。
b、在mysql/bin的目录下,使用

mysql_tzinfo_to_sql /usr/share/zoneinfo/Europe | mysql -u root -p123456 mysql;

C、然后在数据库mysql查询是否已导入成功时区信息

SELECT * FROM time_zone_name WHERE name LIKE 'Europe/Amsterdam%’;

D、测试是否支持夏令时,荷兰的夏令时在(2018-3-25 1:00:00 —— 2018-10-28 2:00:00)

SELECT CONVERT_TZ('2018-03-25 00:00:00','+1:00','Europe/Amsterdam') AS TIME; 

时间不变

SELECT CONVERT_TZ('2018-03-25 01:00:00','+1:00','Europe/Amsterdam') AS TIME;

时间快了一小时

SELECT CONVERT_TZ('2018-03-25 04:00:00','+1:00','Europe/Amsterdam') AS TIME;

时间快了一小时

SELECT CONVERT_TZ('2018-10-28 01:00:00','+1:00','Europe/Amsterdam') AS TIME;

时间快了一小时

SELECT CONVERT_TZ('2018-10-28 02:00:00','+1:00','Europe/Amsterdam') AS TIME;

时间不变

SELECT CONVERT_TZ('2018-10-28 03:00:00','+1:00','Europe/Amsterdam') AS TIME;

时间不变

猜你喜欢

转载自blog.csdn.net/k_clound/article/details/80987268