文档章节

MySQL时间慢了八个小时

乐搏学院
 乐搏学院
发布于 2017/05/23 10:14
字数 1042
阅读 4
收藏 0

由于我公司另外一个运维小伙伴装系统的时候,勾选了UTC这个东东。(会导致慢八个小时的时间误差)结果才有了这一次逗比的经历。

 

1、系统时间慢八个小时,我发现不对劲后,就改回来了,可参考我的另外一篇博客。

2、数据库慢了八个小时,当时并没有意识到这个问题。

 

突然在做实验,老大喊我,说MySQL时间不对劲,让我帮忙解决一下。啥?不会吧,当时首先是这个反正,去看看后,果然时间不对,和本地时间比较一下,相差八个小时。我顿时反应就是,又是那UTC惹的祸。好吧,排查吧,毕竟先解决问题才是硬道理啊。

 

了解:

5.10.8. MySQL服务器时区支持

MySQL服务器有几个时区设置:

· 系统时区。服务器启动时便试图确定主机的时区,用它来设置system_time_zone系统变量。

· 服务器当前的时区。全局系统变量time_zone表示服务器当前使用的时区。初使值为'SYSTEM',说明服务器时区与系统时区相同。可以用--default-time-zone=timezone选项显式指定初使值。如果你有SUPER 权限,可以用下面的语句在运行时设置全局变量值:

·mysql> SET GLOBAL time_zone = timezone;

·   每个连接的时区。每个客户端连接有自己的时区设置,用会话time_zone变量给出。其初使值与全局变量time_zone相同,但可以用下面的语句重设:

·mysql> SET time_zone = timezone;

 

可以用下面的方法查询当前的全局变量值和每个连接的时区

1

2

3

4

5

6

7

8

mysql> SELECT @@global.time_zone, @@session.time_zone;

+--------------------+---------------------+

| @@global.time_zone | @@session.time_zone |

+--------------------+---------------------+

| SYSTEM             | SYSTEM              |

+--------------------+---------------------+

1 row in set (0.00 sec)

mysql>

解决方案;

1、临时解决方案

查看当前数据库时间

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

mysql> select CURTIME();

+-----------+

| CURTIME() |

+-----------+

| 08:53:05  |

+-----------+

1 row in set (0.00 sec)

mysql> select now();

+---------------------+

| now()               |

+---------------------+

| 2016-01-31 08:53:08 |

+---------------------+

1 row in set (0.00 sec)

mysql>

修改时区:

mysql> SET time_zone = '+8:00';  # 此为北京时,我们所在东8区

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges; 

Query OK, 0 rows affected (0.00 sec)

mysql>

2、永久解决方案

1

2

3

4

5

vim /etc/my.cnf

[mysqld]

default-time_zone = '+8:00'

重启mysql服务。

/etc/init.d/mysqld restart

 

 

3、其他问题:

数据库如果有主从结构,重启数据库会导致主从不同步。

 

个人建议的方法:

1、先停止slave (stop slave;)然后先修改slave的时区(很不幸,系统不是自己装的),等到服务器重启后,查看slave同步binlog的位置,然后修改Master的时区,重启后查看当前master的位置,重新授权,salve重新学习(可从slave重启后查看的位置学习),最后再start slave;不出意外,这样是可行的,毕竟我是这样操作。

 

2、如果不行失败,那就等master和slave时区都改好后,查看master当前位置,然后slave导入最新数据库,然后重新学习。

 

3、我尝试过slave不导入最新数据,从一开始从master的binglog位置学习,但是实验报错了。后来有从新导入最新数据,然后学习的。(具体为什么失败,并不清楚,网上关于重启数据库,主从不同步的原因有很多。)

 

个人总结:

1、涉及到数据库的问题,最好先在实验环境模拟真实环境,操作无误再在生产环境执行,避免不必要的错误。如果问题比较大,记得先做好备份,备份才是王道。

2、遇到问题,先冷静,仔细排查。不要抱怨,先解决问题,再建议。

3、不要忽略一些不必要的问题。一个小小的UTC,居然带来了这么多的小弯路。

登录乐搏学院官网http://www.learnbo.com/

或关注我们的官方微博微信,还有更多惊喜哦~

本文出自 “永不放弃!任志远” 博客,请务必保留此出处http://renzhiyuan.blog.51cto.com/10433137/1782399

© 著作权归作者所有

乐搏学院
粉丝 9
博文 526
码字总数 707467
作品 0
丰台
程序员
私信 提问
mysql服务器默认关闭时间,这个她到底怎么管理的?

Mysql服务器默认的“wait_timeout”是8小时,如果connection空闲超过8个小时,Mysql将自动断开该 connection。这个说话很不理解,因为 我的测试是开启tomcat后页浏览器面访问一次数据库mysql...

awang
2012/11/12
311
2
【Mysql】利用Mybatis3连接mysql获取datetime类型数据错误

mysql版本:myql-connector-java-8.0.11.jar mybatis3连接数据库代码如下: 执行结果: OPTDATATIME为数据库实际结果(OPTDATATIME是转为字符串取出的数据)。OPT_DATETIME0为Java自动转类型...

大白来袭
2018/11/29
12
0
DataGrip 2019.1.2 x64 连接MySQL出错解决

参考示例:如何规避mysql的url时区的陷阱 出错代码如下: 出错界面如下: 解决方法 1、在url后面加:?serverTimezone=utc UTC代表的是全球标准时间 ,但是我们使用的时间是北京时区也就是东八...

近在咫尺远在天涯
05/07
186
0
解决 Windows、Mac 和 Ubuntu 时间不一致的问题

最近帮朋友装了 Windows 7 、 Mac 还有 Ubuntu 。朋友在切换操作系统的时候就发现了一个问题, Windows 、 Mac 和 Ubuntu 的时间出现了不一致的情况。在 Windows 中把时间设置正确了过后,在...

红薯
2009/10/22
2.4K
1
解决Windows和Ubuntu时间不一致的问题[有用]

解决Windows和Ubuntu时间不一致的问题 问题原因是使用的时间不一致导致的。win10直接从bios读出来的时间认为就是实际时间,ubuntu认为加上8个小时 后的才是。win10用的rtc ,ubuntu用的utc 在...

shzwork
05/22
53
0

没有更多内容

加载失败,请刷新页面

加载更多

从零基础到拿到网易Java实习offer,我做对了哪些事

作为一个非科班小白,我在读研期间基本是自学Java,从一开始几乎零基础,只有一点点数据结构和Java方面的基础,到最终获得网易游戏的Java实习offer,我大概用了半年左右的时间。本文将会讲到...

Java技术江湖
昨天
4
0
程序性能checklist

程序性能checklist

Moks角木
昨天
6
0
VUE 计算属性

本文转载于:专业的前端网站▶VUE 计算属性 1、示例代码 <!DOCTYPE html><html lang="zh"> <head> <meta charset="UTF-8" /> <title>vue示例</title> </hea......

前端老手
昨天
5
0
快速搭建LNMT平台和环境部署 Tomcat详解

Tomcat部署的基本概念 1. CATALINA_HOME与CATALINA_BASE分别指什么?     CATALINA_HOME指的是Tomcat的安装目录     bin:\\Tomcat一些脚本存放目录,比如启动脚本startup.bat/start...

网络小虾米
昨天
6
0
float浮动

float浮动 float浮动概念及原理: 文档流:文档流是文档中可显示对象在排列时所占用的位置。 加浮动的元素,会脱离文档流,会沿父容器靠左或靠右排列,如果之前已经有浮动的元素,会挨着浮动...

studywin
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部