资讯专栏INFORMATION COLUMN

Drop view 操作导致event被清空

IT那活儿 / 3091人阅读
Drop view 操作导致event被清空

点击上方“IT那活儿”,关注后了解更多精彩内容!!

01


报错概述


近日,在版本为8.6.2.33 R26 版本发现数据库存在系统误删event 问题。

02


分析思路


某天学习,其中一台主机由于硬件问题,主机数据库服务不正常。

在启动服务器后event恢复期间,发现停机节点有部分表分片丢失或者和备分片数据不一致问题。在此期间做的操作有创建表,删除表视图。但后续用到此表时发现分片数据不存在报错,或者主备分片数据不一致。

顺着操作思路有以下复现场景的方案:

1. 在集群正常的情况下create view 操作 (该表视图是存在的);

2. 模拟宕机,即服务状态不正常,offline或者是close .登录gn主机进行service gcware stop;

3. 宕机后delete 数据,使其产生event信息.再去删除event对应表的视图.发现event已被清除;

gccli -uroot

use test;

delete from test.test1;

drop view if exists test2.test1 ; #这个表dmlevent 直接被清空!!

use test2;

drop view if exists test2.test1 ; #这个表dmlevent 会被保留!!,主备节点数据一致

4. 机器恢复后,登录至gncli 进行count分片,发现模拟宕机节点主备分片数据不一致。

03


解决方案


鉴于当前的状况,有两个方法:

方法一:升级集群版本;

方法二: 如果不升级,可以在执行drop view if exists xxxx.test2语句前,用use xxxx进行数据库切换,可以避开这个问题。

本 文 原 创 来 源:IT那活儿微信公众号(上海新炬王翦团队)


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129690.html

相关文章

  • Backbone使用总结

    摘要:原文使用总结事件模型及其原理就是事件实现的核心,它可以让对象拥有事件能力对象通过侦听其他对象,通过触发事件。可以脱离的,在自定义的对象上使用事件执行结果的和等核心类,都是继承自的。在内部使用事件基类的完成这个动作。 开始在项目中大规模使用backbone,一路磕磕碰碰,边做边学习边体会,有一些心得和体会,记录在本文中。原文:Backbone使用总结 事件模型及其原理 Backbon...

    gotham 评论0 收藏0
  • HTML5拖放API Drag and Drop

    摘要:此文研究中的拖放接口,提供各个属性和方法的说明,解决拖放过程中的拖拽数据对象存储和获取问题。方法增加一个拖拽数据对象到属性中,并返回增加的拖拽数据对象。若拖拽数据对象是文本字符串类型,通过回调函数获取拖拽数据中的字符串数据。 此文研究Web API中的拖放接口,提供各个属性和方法的说明,解决拖放过程中的拖拽数据对象存储和获取问题。 拖放API作用到两个目标对象,分别是拖拽目标对象和放置...

    dantezhao 评论0 收藏0
  • Bootstrap FileInput(文件上传)中文API整理

    摘要:默认为选择上传的文件数超出了允许的最大限制。在这种情况下,每一个人选择的文件被上传成功后,触发事件。此事件仅在上传和完成同步或异步批量上传后触发。 下载地址、API和DOM地址(英语好的小伙伴可以看看) 下载地址:https://github.com/kartik-v/b...API文档 :http://plugins.krajee.com/fil...D E M O:http://p...

    TwIStOy 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<