MySQL 时区(default_time_zone)配置方法 Windows10

340 阅读1分钟

最近使用Prisma管理数据时用到了MySQL数据库,当从代码中将一个整点时间存入数据库之后,再从数据库取出时间发现时间比存入时多了8小时,这一看就是一个典型的时区问题。

// 格式化时间
obj.date = dayjs('2024-08-24 00:00:00').toISOString();
// 调用 prisma 方法存入数据库
saveValueToMySQLUsePrisma(obj)
// 取出数据
const item = queryValueFromMySqlUsePrisma(obj.id)

console.log(obj.date); // 2024-08-24 08:00:00

接下来需要修改一下默认时区

找到MySQL在window上的配置文件

在服务中查找 MYSQL 服务

image.png

在属性中可以看到使用的配置文件地址

image.png

打开这个文件,添加 default_time_zone = +8:00

+号 代表我们是东时区,同理西时区为 -

default_time_zone = +8:00

保存之后,重启 MySQL 服务生效