mysql 系统时间问题_记一次生产环境mysql服务器时间与数据库时间不一致hang住问题...

概述

最近同事在对某台数据库服务器做克隆的时候,由于没有先关闭数据库服务,在克隆后发现数据库服务无法正常启动。

这个问题还是挺有意义的,下面简单介绍下整体的解决思路..

环境:MySQL 5.7.24 CentOS 7.4


1、日志观察

在停止数据库服务时一直hang住,查看日志提示如下:

 InnoDB: Waiting for page_cleaner to finish flushing of buffer pool

ps:大家要复现问题也很容易,只需要在数据库运行时将主机向前修改时间,然后停止数据库就会发现hang住了,这时候观察日志就行。

62ec7551dd4d554422d760e6cf9c6a0c.png

2、查看mysql相关配置

mysql> show variables like '%time_zone';mysql> show variables like 'log_time%';mysql> show variables like '%fast_shutdown';
e0ebd526a1ace0cddc5f1ca5ede7e6e3.png

3、手动停止进程

用systemctl stop mysqld停止数据库进程

434bd1753129d366c722a2b211629225.png

4、往后设置时间后启动数据库服务再停止数据库服务

这里要手动修改时间(大于error.log最大的time),然后启动数据库服务再关闭即可。

date;date -s 17:00;datesystemctl start mysqldsystemctl stop mysqld
142aeb9e6ae84afb2907cb108bf32f06.png

查看日志如下:

904025f76238065799c6857897289a4b.png

5、同步时间后启动数据库服务

/usr/sbin/ntpdate 服务器;/sbin/hwclock -wsystemctl start mysqld
4c8f5735fcc3ae68ff26e13e2b91cb89.png

观察日志可以发现正常启动:

f94b621bbd89417bd7e078486f194c42.png

总结

1、在向前修改主机时间,MySQL停止时会出现hang,可能出现的大问题是数据入库时间会错乱

2、修改数据库的服务器时间,上线的系统应该是严禁修改的,即使修改也需要停止数据库服务后一起修改

觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

5425942ad44ddf9812ec4ee77b97a50c.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值