00:01
之前呢有讲买SQL并发导入,但是有的情况我们可能只需要从。全被你面恢复指定的某一张表,但是我们全被的时间点的话。可能是以前的,所以我们还得结合b log来一起做。嗯。如果说环境支持使用第三方工具的话,比如说my circle啊,B two circle这的工具的话,可能用起来比较方便,但是有的环境可能不支持使用第三方工具,就需要自己写脚本了。买和当MP拆分出单表的话还是比较简单的,因为我们上一张上一个视频讲的那个必发导入的话,那个脚本是支持恢复,嗯,支持只导出单个表的。所以我们这里只需要解析Bo就可以,我们知道Bo的话是有很多event组成的,我们只需要解析我们需要那些表的event即可。
01:11
我们要的这些event的话,有事物的开始的就是GT event和事物结尾的event就是差event,然后再加上我们的操作日志,比如说就是the event.我们只需要这些event就可以。No event的话,它会跟一个table map map event来记录它的那个原数据信息,主要是记录库名、表名和字段类型,我们这里就只要库名和表名就可以了。我们看一下所有的event的结构吧,Event是由event had和它的data部分组成的话,是固定为19个字节。啊,这个可以看以前的博客,这里不在中间讲了,我们这里主要讲一下那个table map event,它的库名和。
02:10
表明我们只需要把这两个解析出来就可以,其他的可以不用去看。思路,大概就是这么个思路。啊,当然这里要写个脚本面,这个可以不用管,我们就直接演示吧,拆分的话,我们还是使用之前的那个脚本来拆分。嗯,我看一下啊来桥本在哪,好像这个我们可以嘎data指令数据库,我们比如说我们叫d be,我们在第一张表,我们叫sb test.2星吧,就是我们把2开头的所表都给解析出来。嗯,你就这样就可以了。
03:03
哦,我们还没有指定我们的那个。哎,这个提示有点小小的问题,不用管了,这里我们实际上要跟上我们的那个导出的文件提示都是以前。以前的脚本的没有改,不用再写细节,我们花了一秒钟拆分出来我们需要的表,我们需要的表的话,就在我们先看它多大吧,那张表的话应该就只有。100兆900兆100兆A那差不多100兆没毛病。我们看一下吧,应该是叫DB下面的啊,其他的都是0,我们只要关心那个。2开头的就是这10张表,每张表差不多10兆,加起来100兆左右。然后我们可以把这些比较导入数据库。我们。
04:02
这里就不打了,因为我们。不太方便测试,我们再看一下宾诺哥解析的吧。我找一下脚本是哪一个来着,应该是这一个,我们仔细一下这个脚本,看一下怎么用啊。宾诺阁脚本的话,样的可以指定数据库名表明,但是我们当前的环境的话,可能宾诺格因为刚才跑了个于斯master就啥也没了。没好,我们重新占一点数据吧。我们应该有个奔。吗?我们没数据的话,这个可能不知道能不能跑出一点啊,有有一部分比较有数据,所以冰螺块是能跑一部分的。
05:02
但是我们没有其他的信息啊,这。我们重新导一下吧,不然没数据可能也不太方便验证。嗯。我们直接用刚才那一个并发打。刚才花了30多秒打完,我们这次应该也差不多花30多秒打完。我们打完这些表之后的话,我们。你一下master吧,这边窗口来操作吧,窗作多了我都懵了,免得有干扰,可能不太方便,我们这边再重新压一下,我们压的时候再洗下漏。多合一下吧,反正反正没啥影响,再辅他一下吧,等它压一点b log之后,我们再去解析B,提取我们需要的表就可以。
06:12
啊,比如说我们就压够了,我们就不压了,我们跑一下那个提取冰诺的脚本,嗯,拼多福的脚本,我们一样的,我们数据库的话,也用刚才的那一个码,像叫DB音,看看这个我们也叫。啊,我们就不要那么多表,我们就一张表吧,我们就叫20吧,太多了,待会也不好验证。那我们自己下就。这个这个是个啥呀。啊,我们没有指定我们的宾诺阁呀,我们。
07:02
得指定宾诺阁呀,宾诺阁在这个地方。我们一样的用正则来匹配。因为涉及到很多的表,很多的B可能都有这张表,所以我们全B都加上,这就是一一对比出来的这些文件。我们只需要去。这个目斜面看一下这些b log,这些b log的话,和以前的b log大小肯定是要小很多的,以前是这么大,现在几功率出来就只有这么一点,我们再用MY诺的命令去看一下,我们一个对一个看吧。嗯,我们先看我们解压之后的吧。在服。呃,这个没有,我们看有的吧,因为这几个看起来好像。
08:09
对呀,的名字好像。我真的没有加冰糯米。哎,现在问题比较复杂。容易复制错,所以复制的时候注意一下。就可以看一下这个宾洛格里面的相关表现,比如说DBSBT 20都是20,都应该叫20。都是加20,说明我们过滤确实可以的,其实我们这个也可以直接导到数据库里面。
09:05
是可以导进去的,但是我这里因为机TD已经重复了,所以你导进去的话,它数据是有问题的,如果你要导的话,你可能还得需要驾照这个去打,但是我这里面环境应该是不支持打渠道,因为这些数据。和我们的实际数据是不一致的,我们应该做的是先从全被恢复,再从那个点之后的log做恢复,所以我们实际上可能还需要加上杠刚start date time值得来一起做。但我们这里只是为了演示这样做,我们才这样写的,实际上不能这样写,注意一下。我们再来看一下他原来长啥样子吧。原的对的是这个0001。这是原始的文件,我们再看一下它除了DB01之外,它应该还有一些,除了那个sb test20之外,应该还有一些其他的表。
10:08
比如说这个表,这些表都有,就除了我们刚才那张表格,还有很多其他的表格,所以我们解析的确实有没有问题。啊,这个工具差不多就这里讲完了,就是单表导入。这里没有完整的演示,因为这个不太好演示,主要是刚才。游戏我们再来看一下,还有一个脚本吧,就一起讲了,是不分的太多。还有一个叫。叫啥来着?啊,他命令解压这个可以查看他命令解压的那个。进度和之前的查看方法一样的,所以我们这里就不讲方法了,我们就截两个文件。
11:05
看一下效果吧。比我们这两个文件差GGZP的话,差的我们都几样,我们这两天再来看一下进度,我们只能动态的看到进度了,当然我这边时间可能取的比较频繁,这个速度看起来是差不多的。好吧,这个XZ的400多兆挤压出来900多兆,这个GZP的600多兆只压出来2.5兆。速度上来看的话,GZP的速度还要快一点,但是它太大了,所以他慢一点,反正用那种所所谓的。这个有啥用呢?这个其实没多大用,就看起来花里胡哨的。
12:00
差不多就讲到这里了,脚本这里我还是一样的放评论区,有兴趣的自己去试一下吧。
我来说两句