配置mysql的时区

设置mysql时区表

# 检查时区表
mysql> SELECT COUNT(*) FROM mysql.time_zone_name;

# 导入时区表
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -uroot -p'1qaz@WSX' mysql
# mysql_tzinfo_to_sql: 是一个 MySQL 提供的实用程序,用于将时区信息转换为 SQL 语句。
# /usr/share/zoneinfo: 是 Linux 系统中存储时区数据的标准路径。这个目录包含了全世界各个时区的信息文件。

临时设置,重启后不生效

# 查看数据库的当前时间
mysql> select curtime();
+-----------+
| curtime() |
+-----------+
| 14:50:21  |
+-----------+
1 row in set (0.00 sec)

# 查看当前时区
# time_zone: 数据库的时区
# system_time_zones: 系统的时区
mysql> show variables like "%time_zone%";
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone | CST    |
| time_zone        | +08:00 |
+------------------+--------+
2 rows in set (0.00 sec)

# 修改mysql全局时区为北京时间,即我们所在的东8区
mysql> set global time_zone = '+8:00';
Query OK, 0 rows affected (0.00 sec)

# 修改当前会话时区
mysql> set time_zone = '+8:00';
Query OK, 0 rows affected (0.00 sec)

# 立即生效
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

永久生效

vim /etc/my.cnf # 在[mysqld]区域中加上
default-time_zone = '+8:00'
# 之后重启mysql使新时区生效
posted @ 2025-09-04 14:56  阿峰博客站  阅读(16)  评论(0)    收藏  举报