温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:01
啊,接下来我们再来说另外一个插件啊,叫做这个执行啊分析插件啊,那么其实这个插件的话就比较好玩了啊呃,那么这个插件的主要的作用呢?啊,就是来帮我们去分析一下你当前的这个删除跟这个更新操作呢,诶它是不是一个对全表的操作啊,比如说是不是删除全表啊,或者说这个更新全表啊,那么啊主要呢,就是来防止这个啊一些小白是吧?啊比如说这个刚到公司的程序员啊,什么都不懂,然后一上来的话呢,就直接delete星啊from某某某表,好那么可能啊,他的这个程序员生涯呢,诶也就到此为止了,好或者说呢,诶有一些这个恶意的哎,进行这个delete或者这个全表的这个update操作,OK,那么为了防止这些情况的出现呢,我们就可以使用这个执行,诶分析插件啊,来去做一下好,那么在使用之前的话,我们需要注意啊,这个执行分析插件呢,诶我们只支持MYS5.6.3啊以上的这个版本,所以说呢,如果说你的MYSQL版本。
01:01
诶,不是啊,我们要求的这个版本的话呢,诶,它可能用起来还会有些问题啊,这个大家需要注意一下啊,那么至于我们这个执行分析插件啊,它的这个原理是什么呢?啊,那我们一会儿呢,在这个啊底层源代码里面呢,再来给大家去具体的分析一下啊好,那么接下来的话呢,我们首先来把这个插件呢,诶给它注册好。好,我们来到这个插件的位置啊,我们来注册一下。哎,不是在这啊,写错了在这好,我们来注册这个好执行来分析插件,好这是一个病啊class好,然后呢,我们直接把这个全类名的给它拷贝到放到这就可以了啊。呃,那么这个执行分析插件的话呢,我们光注册到光注册到这还不行啊啊,因为它里面呢,我们还需要去写上一个啊注入一个值啊,叫做这个proceed啊,应该叫做stop a对proceed啊,然后value的话呢,我们写成一个true,呃,这个是什么意思呢?啊,它主要就是如果说我发现了你当前是对全表的删除或者更新操作,那么我是不是要去停止你当前的这个操作,那么结果当然是是的啊啊所以说这些东西的话呢,诶大家也可以参照我们这个。
02:27
哎,执行分析插件,我们在这个文档里面呢,诶,人家也有一些什么具体的描述啊,大家可以自己去看一看,好那么把这个配置好以后呢,接下来我们就诶直接来做一个测试。好,我们这个测试,我们这个搜执行,诶分析插件。好,Test,我们这个so,诶X play at test写到这啊,然后我们就直接啊,上来以后呢,我们就来上一个,诶employee map delete,那么删除的时候呢,我不给你传任何条件,那么这个很明显就是一个诶全表删除操作。
03:09
哎,全不删除操作好,呃,那我们来看一下我们这个表啊。啊啊,我这个表里面的话,刚才这个不小心把这个数据啊,都给这个删掉了啊,所以说我们还是需要把这个数据呢给他诶加回来啊,嗯,来吧,我们这个地方呢,有这个数据啊,我们只要给他这个插入进去就可以了啊,还是我们最原始的这几条数据好来执行一下。好,然后呢,我们再回到这个地方呢,刷新一下,OK,我们能看到诶这些数据是有的啊啊其实这个有没有数据都无所谓了啊,因为我们现在的话呢,发现你是全表删除的话呢,我就立马诶停止了,好接下来我们来做一个测试。好,那那么现在我们能看到的现象就是我们在进行这个诶测试操作的时候呢,你发现诶他说我帮你停止了,诶把什么停止了呢?注意他说有一个诶全表的一个操作,然后呢,诶这个搜口语句呢,就是删除什么什么从哪个表里面好,那么我们就能看到你是一个全表操作的话呢,诶它最终呢,就会给你抛出一个异常来,那么实质上的话呢,诶我们的这条烧烤尾句呢,他也就执行不成功了,好那么接下来的话呢,我们就来具体分析一下,他到底是怎么去做的这个事,好。
我来说两句