1.修改mysql时区
查看时区:
mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | |
| time_zone | SYSTEM |
+------------------+--------+
2 rows in set, 1 warning (0.00 sec)
MySQL 的时区默认与系统时区一致。
配置 MySQL 默认时区
MySQL使用的time_zone属性是UTC时间即:+00:00,而北京时间比UTC时间早8小时,即:UTC+08:00
永久修改
vi /etc/my.cnf
在 [mysqld] 下面添加一行:default-time_zone = '+8:00'
重启 MySQL 生效:systemctl restart mysqld
临时修改
mysql> set time_zone = ‘+8:00’;
mysql> set global time_zone = ‘+8:00’;
优点:立即生效,不用重启 MySQL
缺点:重启 MySQL 后会失效
配置默认时区后
扫描二维码关注公众号,回复:
14174855 查看本文章
mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | CST |
| time_zone | +08:00 |
+------------------+--------+
2 rows in set (0.03 sec)
mysql> select @@global.time_zone,@@session.time_zone,@@global.system_time_zone;
+--------------------+---------------------+---------------------------+
| @@global.time_zone | @@session.time_zone | @@global.system_time_zone |
+--------------------+---------------------+---------------------------+
| +08:00 | +08:00 | CST |
+--------------------+---------------------+---------------------------+
1 row in set (0.00 sec)
2.修改服务器系统时区
查看服务器时区
cat /etc/timezone #这里的时区是亚洲上海
Asia/Shanghai
如果你的服务器不是亚洲上海的时区,需要对其进行修改
timedatectl set-timezone "Asia/Shanghai"
3.修改docker容器时区
#根据容器名查询容器ID
containerId=`docker ps -a | grep -w ${project_name}:${tag} | awk '{print $1}'`
#复制服务器系统时区到容器内 容器时区改用服务器系统时区
docker cp /usr/share/zoneinfo/Asia/Shanghai ${containerId}:/etc/localtime
4.在JAVA服务代码中更改时区
/**
* @Author liuy
* @Description 服务器时区调整util
* @Date 2022/4/7 11:02
* @Version 1.0
*/
@Component
public class TimeZoneUtil {
@PostConstruct
void started() {
TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
}
}
5.在与数据库连接配置文件中配置上海的时区
url: jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
如果单一的方法无效可以结合以上五种方法可使用**