mycat2管理mysql集群时间不同步的处理

项目场景:

提示:这里简述项目相关背景:

通过mycat2连接的数据库集群,发现数据库时间不对,比真实事件晚了8个小时。由于关于mycat实际使用场景中资料比较少,这里记录一下。


问题描述

提示:这里描述项目中遇到的问题:

由于时间不对,造成数据查询的时候,某些数据查不到或者不正确,因此进行时间校准处理。


原因分析:

提示:这里填写问题的分析:

可以通过MySQL客户端连接mycat

mysql -u xxx -p -P8066

连接到mycat后,查询时间,可以使用MySQL的查询语句:

select sysdate();

因此,实际时间应该还是真实数据库的时间,检查发现真实节点数据库的时间也确实不对。
没尝试,是否可以直接通过mycat设置时区,我是一个节点一个节点,修改的时区,且修改时区,不会影响MySQL的主从配置。执行步骤和解决方法如下


解决方案:

提示:这里填写该问题的具体解决方案:

1、连接真实数据库shell终端,检查服务器时间

# 查看系统时间:
date
# 发现系统时区不对,通过下面命令修改系统时区
#centos7 系统设置时区:
timedatectl set-timezone Asia/Shanghai
#重新检查系统时间:
date

2、服务器系统时间校准正确之后,连接真实数据库节点,修改时区:

#MySQL设置时区:
#第一步:查看系统时区	
show variables like "%time_zone%";

# 第二步:修改时区,并生效
# 修改系统时区	
set global time_zone = '+08:00';

# 修改当前会话时区
set time_zone = '+8:00';

# 立马生效	
flush privileges;

# 修改后再次查看
show variables like "%time_zone%";

# 第三步:修改后再查看系统时间显示
select sysdate();

3、通过上面的步骤依次校准所有节点的数据库时间
通过mycat查询时间(select sysdate();),发现时间依然不对,但是每个真实节点的时间是正确的,所有问题就出在mycat本身了。
解决方法很简单,重启即可:

/mycat/bin/mycat restart 

再次查询,时间终于正确了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值