00:01
在刚才的内容中呢,我们完成了用Sha实现分库分表操作,那下面呢,我们再来完成用she pro实现读写分离的这个操作,咱们把这个操作给它配置出来,那怎么做?首先我们写下这个过程,首先第一步呢,大家注意啊,这个sheding pro跟我们前面学的sheding g bc类似,它里边呢并不会做到你数据库的主从复制的过程,这主从复制咱肯定是需要通过买SQ进行配置,做到它里边只是判断你操作,就是你是比如增删改操作,那去读取我们的这个主数据库,如果你是查询去操作我们的从数据库,它只独立过程,所以说你的主从复制过程,咱需要在买所有中景配置,怎么配置,咱们在上面讲Sgpt中都说过了,我这里边不再重配置了,然后咱们现在就做一个基本效果演示这个。
01:01
复制这个过程,各位可以参考我们刚才讲的SHEGBC,把它自己独立做到,那现在我这么来做啊,首先第一部分呢。因为咱要做读写分离,所以第一步呢,我就创建多个数据库,把效果给大家验证一下,咱就验证一下你做登删改,他去操作室主服务器,如果你做查询操作室从服务器把这效果给大家做个验证,主从复制跟咱们之前讲的是一样的,那我现在我就先创建多个数据库,比咱就创建三个数据库就是一组。然后。两同这种效果,那我现在把这个咱先创建,比如在里边呢,我就写上三个数据库,然后这个配置呢,咱们可以参考一个地方,大家看到就是sheding的官网里边有这个she顶P配置手册里边有一个叫读写分离,其实咱们配置可以根据它做个参考,在这里边大家看它这里做的就是一主。
02:05
多重的配置,包括咱在she pro里边也是改它的配置文件,而配置文件改的是哪一个,注意不是它是这个配置文件叫conig master STEM,要么这个文件把这个文件做个修改,里面是做那个主从物制的,或者说读写分离的这个操作。然后写一下啊,第一步三个数据库在U创建,然后第二步去修改CF里边的这个配置文件,配置文件就是config。然后杠master。杠slave。点样这个文件,把这个文件做修改,因为里边做的是读写分离,这个配置主从复制,咱还是在我们的MYSO中进行配置,那我现在把这配置文件我们先给他。打开大家看啊,在里边咱们看上面部分呢,针对这个数据库,下面针对是我们用的my circle口,那咱把这段注释给它打开,然后用它改称的效果给它打开一下,比如现在为了能快速打开,我把这个还是放到我们这个。
03:17
项目中啊,用这个改一下。然后把这个复制,把它的。入世。打开,然后咱们再给它复制过来,就是里边的这部分,然后这部分咱看一下啊,首先第一个叫sky name,这是什么呢?就表示它在我们she pro里边的一个数据库的名字,因为咱刚才叫SHEDB,这叫must STEM DB,然后下面这代表主服务器,这两是从服务器,这是配置,你看啊,这是。主夫器,这两是从夫妻,因为它是一主两从。所以咱现在把里边的三个服务器创建出来,比如这是第一个服务器,就这个数据库啊,我在里边创建,直接咱们创建。
04:07
第一个数据库,让他作为我们的主数据库,这是第一个。应该少个字母啊,少个R,呃,那这个名字我先给它删掉啊,重新创建一下啊。少一个名字。第一个叫DEMO。DDS master。作为主数据库,然后创建之后再创建第二个,第三个从数据库,第二个叫SLI0。这是。第二个。然后里边还有第三个叫这个磁力一把这三个数据库,我们都给它快速创建出来。所以现在数据库有了,然后创建之后呢,我们下面做的事情就是。改一下里面配置,把配置改成我们对应的数据库的名称和地址,咱们给他快速改一下啊,第一步三个数据库。
05:00
第二步改配置文件,那配置文件中咱打开,因为这个名字我是通过它复制的,不需要改密码,加上咱们都是这个root。包括第三个也是root,下面这些不需要变化,所以现在把这个我们就给它快速改出来了,就是里边的这么一个结构啊,咱就改完了,然后改完之后呢,下面咱就把这个服务器进行启动,启动之后来开始它的操作,操作跟咱刚才一样,咱也是在里边创建表,然后加数据验证下,读写分离这个过程。那我们写一下第三步,咱们来。启动这个筛顶。To这么一个服务。把它启动,然后启动之后第四部分咱们通过CMD。连接上这个shading to在里边就是进行这个。
06:04
创建表和添加记录的操作,通过这个操作来验证一下,咱说里边这个就是读写分离的过程,那咱们来做一下啊,比如现在这服我先给它停掉,这买circle也给他先停掉,然后咱们把服重新启动,因为现在这配置咱应该都改了。那我启动一下啊,来到B目录中。把这个start.bat启动,咱等到先行起来。咱们看现在已经启动了,用的是3307端口。然后把这个拿回来。当然各位注意啊,就是这个咱做读写分离,或者说主从复制的时候,我们可以按照咱们之前说这种方式,比如我们在3306中主服务器,在307中从服务器啊,可以做到现在,我们是只是为了演示这个过程,所以我把它都写到一个服务器中,这数据库作为主,下面两个作为从啊,它跟之前的过程差不多,然后咱们第四部分用CMD。
07:09
把这个。打开就给它连接上啊。My circle-T 3307-u root-T,输入密码,咱现在就连上了,连上之后在里边我们看一下当前的数据库。各位看啊,目前的数据库是不是有两个呀,第一个是咱们之前用这个筛DB,还有一个叫mass slave DB是咱们现在这个读且分离的这么一个数据库,这个啊,我们现在就看到了,然后看到之后咱们下面在里边我们先给它创建数据库的表,把这表我们先给它创建出来,那我们来创建一下啊。对这个表呢,咱在创建的话,咱们要向主服务器,就是主库存库里边都给它创建出来啊写一下就是在我们的。
08:02
主数据库。和从数据库里边都给它创建出数据库表,就里边都创建,这样的话,为了咱们效果更加明显,因为我说到shading pro呢,它不会做到主从复制过程,它只进行你的不同操作,区分到你用到不同的库容,主从复制过程还是在买送做到的,所以咱们现在把这数据库就需要给它手动创建一下。那我们来创建啊,再来一个use这个master。Slave。DB先使用,然后在里边创建,创建的话咱就用这个语句改一下,首先里边的第一个库啊,咱把那库那个配置文件打开,用它复制一下啊,首先第一个库呢,这个库叫DEMO。DS啊,不是这个啊,应该是下面这个。呃,不是这个文件,文件打开错了啊,我这看着不对了,这个文件啊,打开错了,然后在里边第一个库,这个库叫DEMO DS master,那咱把这语句前面位置改成它就指定哪个库里面的那表,那我现在把这个改完之后,然后咱们把它在里边执行下。
09:20
咱们来执行,现在里边这库应该已经创建了,它只在主库里创建,然后咱们在两个从库里边也都给它创建出来,那我来创建。首先啊,咱们现在从库里边。创建,这是同库。然后创建之后,在里边我把这个语句给它也是。执行下。这是。存库。SLAVE0,然后在那个s slave1里边把它也创建,咱给它改一下,这里叫SLAVE1。所以这样的话嘛,我们目前在里边应该有我们当前这个相应的表,应该咱们已经创建出来就这个to的,但是他看到了就这个啊,然后创建之后呢,下面我向里边给他加上这个相应的数据,咱们把数据给他加上,比如现在我就直接啊直行这个音色语句,但是在音色中呢,我们现在不指定它向哪个库中,咱就默认就行这个语句啊,咱看它什么效果啊。
10:23
我把这个给各位。截个图,就咱们在三个库里边分别创建这么几个表,把表都创建了。然后创建之后,我们的第二步演示,咱们就是向表里边添加记录,但是咱们现在先不指定我们向哪个库。添加就是默认就写一个iner语句,咱看它会有什么效果啊,就这么一个语句,如果说咱指定比如DEMO dsli0,拿它相里比下数据,但我现在没有指定,再看它是不是效果。
11:00
我把这个到里边。执行,即使我们成功,然后各位注意啊,我现在做的是不是音色的操作呀,按照咱们读写分离过程,你做insert添加它应该操作哪个表。大家想一下是不是咱们的主表,主表做自然改操作,那我现在到里边刷新,咱看主表这个。然后主表里边你看。数据是有了,但是咱看啊,从表里边,这里边包括这个从表里边数据是没有,现在没有添加,但是如果你做了主从复制那个配置可以添加,但是我没有做配置,我就想养这个效果,你看现在添加就行,什么是主表,比如说现在我做个查询,咱来一个select星from t。O。然后大家看。返回什么?是不是空了,为什么空?因为咱们做查询的时候,他是要查询从表,而从表里边咱目前是不是就没有数据,查是不是就查不到,应该就是这个效果,因为它默认没有查主表,但是你可以指定查主表,但是你没有指定,他肯定查从表,总表里边目前就是没有数据,所以证明到了咱目前这过程应该只实现了读写分离这个效果。
12:15
我把这个给各位截过来啊,然后在比中详细描述一下,咱们加数据,但是不指定向哪个库中加,那这个时候他会怎么做呢?他会把我们这个添加的数据给他添加到咱那个主数据库里边去,因为咱主库里边是做这个自然感操作。这个操作,然后这里边第三部分,比如现在我们在查询。数据库表里面的数据,但是也是不指定查询哪个库,那这时候咱也看到我直接执行的话。就是直接执行,他会查询你从库里边的这个数据,因为咱们刚才并没有配置那个就是主从复制过程,也没有向从误中加数据,所以最终查询的效果里边是不是就没有纸,这数据就不存在,咱们要看到的应该就是这个效果啊,这就是读写分离,那比如说咱在演示的更详细点啊,比如现在呢,我像两个从库里边把数据也都给它加上。
13:25
然后咱们再看一下查询,我把这个稍微改一下啊。DS。SLAVE0这一项错误中加数据,比如大家为了区分,我来一个幺二。加到从库里面去。我给他加一下啊。现在应该加进去去,然后咱们再向另一个从里面加数据改一个值,我改一个,比如说改一个叫幺三啊,咱为了区分。然后这里边我叫LI1。包括最后咱给它加上一个。分号。
14:00
然后咱们。会车现在里边应该有数据,然后咱看一下啊,在这个C50里边有幺二,在四一里边有幺三,在ma里边是幺幺,你看现在三个库中是不是都有数据了,那我现在呢,再来执行查询操作来看什么效果啊。大家看查谁是不是13的,是不是同库的,我再执行查谁12的,再执行查13的,再执行查12的,所以你发现现在我们做查询,它只不只在你的存库里边随机查询,要么查零的,要么查一的,而不可能去查我们的MAT里边,因为MAT里边如果说你指定K查,你不指定它只做增删改操作,这样的话咱们实验出效果。是不是就叫读写分离效果,你在做就是增删改操作在主控操作做,读操作,查询操作在从库中进行。所以这是我们通过。
15:02
Sheding per完成的读写分离这个配置,这个咱就做到了,包括各位可以按照我们之前讲这个shading b JD bc中的主从复制,你把这个给它配置出来,我现在通过它把这效果给大家,也是用一种方式演出来了,咱就验证出来了。读写分离它是操作不同的库,用这个过程咱们完成了这么一个效果。所以各位啊,注意咱们讲这个she process过程中分别用它实验了,分表、分库,还有读写分离过程,这些过程中的主要就是在这些配置文件中进行相应配置,咱主要改的是两个文件,第一个。Config里边做分布分表,还有一个叫config must sli里边做东分离,所以各位把这page置给它改出来,但是不需要你记,因为在它文件中都有视例的配置,咱通过它就能改出我们最终效果,所以咱们现在到这里。
16:03
就把这个shading process里边这些操作我们就最终完成了,各位按照我的课件能把这几个操作仅能给他独立测试出来。
我来说两句