Mysql8.0+版本之后就要注意这个问题
MySQL默认的时区是UTC时区,比北京时间晚8个小时。
假设日志里面的时间是中午12:00,那么北京时间应该是晚上的8:00点钟。
1 .永久有效方法:
修改 my.ini 文件,加入如下代码:
default-time-zone=’+08:00’ # 数据表默认时区
即设置MySQL默认时区为东八区。
(注意:一定是在[mysqld]下)
mysql8.0默认配置文件以及数据表位置:
C:\ProgramData\MySQL\MySQL Server 8.0
2.仅当前会话有效(有时候我们需要根据相关实际情况来更改时区)
通过mysql命令行模式下动态修改,
set global time_zone = ‘+8:00’;
FLUSH PRIVILEGES;
然后进入mysql命令行
show VARIABLES like ‘%time_zone%’;//查看时区命令
这时当前会话时区修改成功。
(注意:这种修改只在当前的mysql启动状态生效,如果mysql重启,则恢复到my.ini的设置状态)
3.对于mysql命令行出现中文乱码问题是因为数据库的编码方式没有调好,建议采用utf8,utf8兼容所有编码方式。
在my.ini文件下找到default-character-set,如果没有就加上 default-character-set=utf8 保存即可。