修改配置文件(推荐)
vi /etc/my.cnd
[mysqld]
#default-time_zone = '+8:00'(这种方式也是可以的),但是官方推荐用地名。
default_time_zone = 'Asia/Shanghai'
mariadb客户端设置时区(不推荐,重启mariadb可能会失效)
SET GLOBAL time_zone = 'Asia/Shanghai';
mariadb客户端查看时区是否设置成功
SHOW GLOBAL VARIABLES LIKE 'time_zone';
+---------------+---------------+
| Variable_name | Value |
+---------------+---------------+
| time_zone | Asia/Shanghai |
+---------------+---------------+
查看时区是否生效
SELECT NOW();
+---------------------+
| NOW() |
+---------------------+
| 2022-11-25 14:59:06 |
+---------------------+
虽然全局设置了时区会更方便自己,但是如果要对接的第三方是国外的,这就很尴尬了!所以最好还是不设置全局时区,建议在使用链接时设置是最好的。
如:spring boot的application.yml的jdbc链接参数上追加时区参数
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
#serverTimezone=Asia/Shanghai设置东八区的时区,mysql的东八区不是北京,而是上海,这里要注意。
url: jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai
username: root
password: 123456