00:00
好,那么来同学们,我们下面呢,终于呢来到了我们的最后一章,那么呢,第五主从复制,好,在学MYQL主从复制之前,我们学过前面有一个red,他有没有主动复制啊,我相信一主二对吧,这些东西的话呢,都有了,那么呢,所以说原理类的,由于我们已经在red里面呢深入的介绍过,那么呢,我就不再说什么是主动复试啊,它有些什么优势啊,什么什么这些废话就不说了O吧,那么呢,Register的主层复制,同学们呢,已经学会配过,那么呢,现在我们来看看是吗?MYSQ的主动复制,那么呢,他的配的方法有哪些?那么呢,由于保证同学们呢,是这样一个情况,呃。我们现在呢,同学们呢,是是不是只有一个虚拟机视例啊,但是你们现在有两台SQ,一台是Windows的没问题吧,另外一台是不是Linux的,那么所以说呢,我们玩主通复制呢,就一台就是我,因为我是不是必须得用Windows上课给大家共享啊,那么也就是说我一台MYQL装在了Windows上,另外一台MYSQL装在了虚拟机LIS上,这样是不是两个MYQL2个不同的系统时的通信啊,好,那么这样的话呢,给以保证,那么如果你们要玩的最嗨的时候是什么呢?那是不是就变成什么你本机Windows的eclipse或者是idea启动了以后,连上本机的Windows数据库,作为主机Windows数据库有的数据是不是每一条都会写进Linux的数据库,完成了主动复制啊,是不是啊,那么这边的话呢,我们呢,来看一下。
01:47
那么呢,我们呢,主动复制,那么呢,有他不难哈,同学们不要害怕,觉得说一听这名字是个高大上,这个也没什么了不起的哈,就是一些配置,那么呢,我们呢可以看到哈。
02:02
首先复制的基本原理,那么呢,S slaver会从master主机上读取b log是不是二进制日志文件来进行数据的同步啊,还记不记得我们第一章的时候说过一个MYQ的配置文件,这是不是有个二进制日志log b啊,OK啊,那么就是指的呢,就是它,那么呢,它的步骤呢有三个,那么呢,我们呢,加上原理呢,简单的说一下这个是不是master,只要主机data change死了,它会把它的行为写进barylo里面,这边有一个IO的线程slave机器,然后照着这个的日志,主机做什么操作,我就读出来回传,然后写到我的中继日志里面,这边启动一个SQ行程的话,是不是进行复制啊,那么所以说我们呢,干嘛呢,三步主机将改变进入到二进制日志。
03:03
Data changes改变了以后,手记到这儿,这些叫做二进制日志事件final log疑问词没问题吧?第二个slave将master的这个日志拷贝到他的什么日志里面,中继日志里面,没问题吧?最后sla重做中继日志中的信事件改变到自己的数据库,那么是否是完成了数据的复制啊?好,那么呢,由于在red no数据库里面,那么大家已经详细学习过,那么这些废话我就不再展开,行吧,好来来看看这儿复制的规则,每个LA怎么着,是不是有点像Java的单继成呢?好,每个指针有铁金,有一个唯一的服务器ID,有点类似于咱们做主动复制时候也干过RED637963806381。那么言下之意就是说那个是我们以配置文件启动的端口号为例,而这个。
04:03
就变成默认serve,一就是master主机server,二就是从机,就是说白了就是找一个主键区分开两然好每个master可以有多个slave,好理解吧,好,那么最后复制的最大的问题是不是有时候网络上会有延时啊,好,那么这些理论呢,我们在red已经详细说过,就不废话,那么今天着重的是讲讲买的主从复制,那么呢,我们以一般的中小型互联网公司的一主一从,那么当然你用大的系统的话,专门有dpa来干这种数据库集群的这种容灾备份这种处理,因为我们毕竟什么说过,咱们是不是Java开发工程师啊,那么这块呢,知道一点好一种一从最常见的。那么呢,我们来看一下。来,我们呢,将其那么呢直逐条仔细的阅读吧,来,首先第一个要求MYSQL的数据库版本一定要一致。
05:12
你不要这个主机装个四买从机装个五,那效果不大好,常见而言就是说,比如说你们两个都是5.5可以,因为我们5.5是你这个有5.5.32,那个是5.5.46或者四八,最后面那个这三位那个数字稍微有点区别,这个还算可以,但是捷径不要跨越太多,听懂了吧,最好的是什么专的是什么,都是同样的版本,明白好第二个必须是么,同一网段是不是得拼个通啊好,那么来同学们请看一下,那么呢,我们这IP看这那么大家看我现在是不是14165IP,好,这是我Windows的机器,那么这个呢,好,那么这个是不是咖,这个是不是17167,那么现在我们的目标。
06:13
是Windows做主机数据库,Linux做从机数据库也记简单一句话,165主机167重机懂吗?好弟兄们,我们这儿167是从机,从机要能够照抄主机的数据,咱们最简单是不是网络上要相通,那么所以说在Linux这P192.16168.14.165,我是不是幺七嗯,167,那么我去P165,这个时候大家看是不是同一网段可以拼通啊,那么呢,CTRLC跳出来说明单边成了吧,但是一定要摔下哈,你不要偷懒,一定要先双边拼通了,明白那么好,下面呢,我们看这款是拼192.168.14.167啊主机是不是拼拼重机试试啊,通不通?OK,那么TT以后默认四次收高,那么现在我们第一。
07:13
条是不是都满足了,好过下面大部分呢都是配在这个MYCQD下面,最好是小写哈,不过你真是大写也行,那么呢,MYSQD是不是我们一个固定的节点啊,听好这我们呢这么干,第一个主机是Windows啊,我们是不是修改卖点ii配置文件啊,那么呢主要呢修改如下内容,那么呢可以看一下。首先这个时候我这是不是有个卖点,Windows版的MYSQL配置文件懂吗?好打开,那么呢,我们可以看首先一个一个的过。
08:02
来myql didd等于一,这是什么项必须得写哈,而且我从我的习惯最好就是什么一号机器就是主机可以吧,这样也是不是天字一号线进程是不是Linux里面最大的还记得吧,那么这块的话就是一呢,是为王哈,那么这个时候呢,我们呢,可以看到在MYQD这个里面的话写好弟兄们,我这是有个SID等于一啊好,第一步收工,那么第二步干嘛呢?啊,一定要启用二进制日志文件,言下之意,它的配法和公式如下,那么呢,1LOG b,我这是不是写了个logo b了,自己本地路径加左斜线MYQB,最好是用这种规规矩的官方命名的这种文档的名字啊,那么大家看我本人的MYQL,我是不是装在D盘这个目录下面,那么这个是我这个下面,然后的话呢,我自己选的路径是data下面是不是有个MYSB这么一个目录啊,不,MYB这么一个文件啊,那么什么意思呢?大家请看哈,我在char d盘MYMY点五这个date下面,各位亲,我这是不是是不是有一个MYB这样的文件,嗯,是不是很多呀?那么至于说为什么会有它,那么回头我们会说这个就是我二进制的文件,明白吗?好,那么再来,我们往下找。
09:39
好,那么呢?这是什么呢?了解启用错误日志,也就是我买三幺最后主从复制不成功,不好使呢,是不是最好有一种日志可以记录我的错误啊,那么这我们呢,叫log errorrrow,大家看是不是也在这有个date my circle errorrrow啊,那么大家看在这个路径下面有一个my srcq arrow同意吗?那么大家可以点开看看是吗?
10:09
线程启动啊,这块启动啊等等,那么starting shut down shut down等等,那么大家看这个是不是我每次启动以后都在上面后面有个日志记录啊,如果出错了就来这看看,听懂好,那么呢,往下走,我们呢继续。然后下面我们是什根目录,有点像什么Java home,卡特琳娜home那样的配置,听懂了,那么这就是base子DRR,我自己的本地路路径base drr,我的myc是不是就是那个装在这啊,好,有点像我们Java home啊,好,那么呢,往下翻,一项一项的过,一点一点的抠。第五一个临时目录,那么它有时候要交换数据也好,或者有一个临时文件夹,一半有点类似Linux的temp。
11:03
这些是什么,主要是什么,我都把它配出来给同学们一眼,其实这些不配是不是也可以啊,那你跟我讲不配是不是就两步啊,其实也没什么了不起的哈,这些都是一些配置来第六个数据目录就是说白了就是我们的数据库的,数据库还记不记得啊,那个date是不是代表数据库装了以后,我们说过逻辑架构是不是分四层,最后层是个存储层的好,那么也就是说我这个date最终是不是是建了这些库通通在这个下面好。那么呢,继续呢往下走哈,那么呢,我们呢,数据目录也有了,那么呢,Read only等于零,代表主机读写都可以好那么呢,最后有两个,这个是什么意思,一个呢,是不是代表是是吧,忽略的意思呀,意思呢就是说这儿代表主机呢,读写都成,这我们也知道MYSQL默认出厂是不是有个MYSQL库啊,那么这就是这些你不配都可以听懂了吗?那么这样就是说你出厂默认的我去备份了干嘛?那么你要是想忽略的数据库,不想备份的数据库是不是在一份的清单里面啊好,那么再来设置需要复制的数据库,那么呢,这个时候就是我们这儿,比如说我以前有个WW2这么一个数据库,我呢是不是就把它写上了,那么好,现在这个呢,主机就是我们相关的修改配置就到这儿,听懂下面再来。
12:36
看从注意这是哪个文件了,是不是到Linux的系统了呢,那么好。是不是就两个啊,那么也就是说这事是不是大部分都是主机要去忙啊,好,那么呢,来同学们,我呢拍完了以后,我把这些手工下面重新修改,慢一点看法,那么呢,我们呢。
13:04
回到这,这个时候我是不是应该是vim ETC下面的慢点。com,那么呢,这个时候我们呢,回车好,那么呢,完火以后同学们请看我是不是要改服务器ID啊,那么呢,往下走吧,那么呢,我们呢。往上看没有吧,但是呢,我们会看到一个熟悉的东西哈,我们来看读读啥意思啊,也就是说在replication是个复制的意思啊,复制主从的话,Defult二进制日志要求对于复制这种动作是不是要开启啊,我现在是不是打开了,只不过它这个名字是不是要SQB的,好那注意哈,这块叫什么,你就那个就行了,你你你别自己去再去乱改了好吧,好那么呢,再来看这块是不是这儿是不是有个三位ID等于一啊,请问我还能是一吗?好那么这个时候怎么办不住掉了好那么呢,这个时候呢,我们呢,继续往下翻,然后突然发现这块是不是怎们给我打开了。
14:32
那么这个时候,言下之意就是,我是不是用尽量最少的动作?能理解,你要说真是有出什么错,没什么错,我一个字母都没写,是不是就关了一个注释,开了一个注释的,好,那么这大家看我们这server ID是二,其他通通不改,那么言下之意,我这是不是什么呀,必须的从服务器ID可选启用二进日志,那么这块我建议也是打开听懂,那么好这一块我呢就将其改完了,注意同学们。
15:13
两个配置文件都改过以后要干嘛,所以说我Windows是不是要把数据库重启一下呀,那么由于我Windows呢,之前呢,也从来没动过,又是原来那个配置,我就节约时间就不再重启Windows的数据库了,听懂那么Linux的数据库这个时候我们是不是service myq stop需要先关一下呀,好,Service myq stop,那么这个时候serviceq是不是start,那么这我改完保存以后你重启。好,那么这个时候杠出现great my,那各位7O吧,好,那么这我们呢,再往下看。
16:01
到这一步,主机Windows啊,重新linus啊,都必须要关闭一下防火墙,没问题吧,我们为了这个演示了以后,那么大家可以看Windows手动关闭这个防火墙,没问题吧,这个应该会哈,那么Linux的话我们也知道干嘛,大家在为了学习方便的时候,应该安装的时候就没让你们装过呀,但是呢,如果这个装过的同学呢,也没事,Service IP tables stop,就把虚拟机的防火墙给关了,你当然看。MY是不是就是说白了是叉叉叉stop中间换服务名字啊哎,所以说Linux还是非常爽的哈,来那么呢,我这儿呢,由于从来也没有开启过,就不再执行,如果你装过的,那么就去执行一下,下面我们可以看在Windows主机上建立账户并授权给R。这句话什么意思呢?就是兄弟,数据库的数据重不重要,你钱包里的钱,你也不会说允许任何一个人随便去翻吧,同意,那么这个时候就变成什么,我得授权给一台重机,说哥们,你是我的白名单客户,我允许你以什么样的账号,什么样的密码登录到主机,超了我的数据了,然好,那么这个时候我们呢,来看一下我们需要完成和进行的工作来,首先我们呢,用的呢是这样的命令。
17:42
Grant是授权的意思啊,授权了复制给同机,那么呢,允许同机以张三的用户名和123456的密码登录到我的主机,对懂,那么我授权给谁呀?这是不是同机数据库的IP啊,我们的同机是不是192.168.14.167啊,这是不是167是我的同机Linux啊好,那么这个时候拿下,那么呢,我们呢,拷贝完了以后直接用MYCQ的命令函数启动没问题吧,那么呢,这一块。
18:25
我们呢,可以看一下哈。为什?来,同学们搂一眼。这边我是不是CD到我们的这个目录啊,那么OK,由于我的软件太多了,我就没有把MYSQL这些命令并配到我的pass路径下面,反过来讲没配,我是不是直接在这个下面执行啊,好,那么这个时候因为到后面也会用到哈,我们呢直接呢干的事儿呢。第一个是不是MYQ干,You root干。
19:08
来各位同学,这个时候是不是我用Windows的客户端登录进了我Windows的数据库,好,我在Windows的主机数据库上面需要执行的命令是在Windows的机器上给他授权,那么以张三可以通过这个密码是不是访问14.1167授权给给他访问主机啊,那么呢,回车,那么OK,如果执行完了,为了确保万无一失,那么同学们是不是最好再刷新一下这个命令啊,那么好,主机上执行完了以后,我们呢,可以看下面,我这是有个flash privilege啊,那么呢,我们呢,在Windows主机上面刷新一下,OK,好,刷新完成以后,请同学们留言下面show master status。
20:08
什么意思呢?是不是看看主机的状态啊,那么好,我们现在查询主机的状态,其中有两个参数非常重要,大家可以看我这块是不是有个MYQB,知道这是什么意思吗?这个是不是我的二进制设置文件啊,后面是它的后缀是不是35啊,那么文件是这个35 position是341,这个呢。需要复制的数据库我没写,是不是代表我新建的数据库以后都要复制啊,这个是不是我忽略的数据库,这个代表不复制啊,好给个清单,它的意思是什么呢?哪个文件position抬头,我在之前的时候没备份,之前Linux知不知道要玩数据库,哪台机器的哪个磁盘道里面去抄数据,他的意思就是说搞到这,我现在主机的数据库从哪抄,从这个文件里面的341行的这个位置开始抄,就像一个跑道一样,明白吗?就有点像抬头哈,磁盘是是有一个磁柱,然后一圈一圈的VCD一样的,上面有一个机械臂,现在你跟我说主人你要让我复制好,你配了命令以后,假设是今天下午03:56以后开始进行主通复制,只要主机有的从机,你都得给我照抄一条,那么这个时候我是不是得告诉这个。
21:37
MYQ,就是说你从哪条跑道的哪一块开始取数据,这个作为一个起点吧,了然好,那么这个时候我们这两个数字呢,就把它记下来,Fire和什么position,那么呢,现在我们呢,执行完这个步骤以后,我们暂时就不要动Windows了。保持下面我们在0NU4统机上配置需要复制的主机,那么呢,我们呢,要干的事呢?
22:09
也是这样,那么呢,复制了以后粘贴到这,那么呢,大家请看我们现在,哎呀这个不好看,稍等哈,干脆这个是不是太长了。这个是不是就好看了,好那么这块来同学们。现在主机是不是我们的14.165啊,注意这个是佩戴Linux里面的,那么呢,刚才主机给我授权是用张三126吧,那么MYCQB,我是不是要去读它的二进制日志文件了,哪个文件的哪个哪条跑道,那么这个时候是不是35号文件的341跑道啊,那么哎,几个零四个零是吧,好。
23:01
1234 OK,这个时候是不是341,言下之意就是064的同计就收到了这个命令,主人我将从MYSQL二进制文件00035号文件的341号这个位置开始照抄数据做备份,听懂好,那么这个时候我们呢,将其拷贝。然后呢,大家可以看我这块是不是连MYSQL里面去执行啊,那么呢。我们呢,直接开高在这儿myq you root p回车,那么呢,这个时候用哪个库啊,不知道,没关系,我现在已经是在从机,就是主机做什么,我是不是做什么呀,好,现在呢,我们要干的事呢,就是把它粘贴一回车,00035。
24:01
30没错吧,好,那么这个时候我们呢,直接往下翻,然后呢,在在这块搞定了以后,下面我们要干嘛,是不是start起来啊,诶,好,那么这个时候start就把我们的配置起来,配置成功了以后,我们需要执行一下show slave status前面是不是执行个master,那么好这块以后我们粘贴一竖线,注意这个时候我们因为我干季是不是TV建职队的意思,否则是不是就是从左到右长长的同学们不好看啊,那么呢,大家看waiting for master to send event,是不是我就在这已经待命的状态了,注意同学们,当你执行完这条数据以后,必须同时看。
25:02
到IO running running,两个必须同时为yes。两个必须同时为yes,没有条件可讲,否则一定失败,必须同时成功清楚啊,那么这个以后代表是吧,主从复制的道是打通了,就说从A从主机道从基的这个大桥已经修好,剩下是不是开车过来了,好,那么这个时候我们呢。来试试吧,My circular以后我们呢,什么呢?哎,直接键盘也不用说什么database,现在同学们我们可以看,我们直接开开工吧,那么create贝贝没错吧,那么假设我现在就是卖DB58可以吧,好,那么呢,往这块回车,那么这个时候use my db58我回车下面我是不是create,我建库用户在建表啊,Create table,然后假设我这就是建了一个呃,Dog吧小狗,那么这个时候in是不是in not那可以吗?那么这个时候狗名字name是不是?
26:42
可以吧,好,那么这个时候建表成功,那么呢,是不是insert into dog,然后value,然后这边一第一个假设我们就是万万一个好万一吧,没问题吧,那么那新from dog,各位亲,现在我是不是主机上五八数据库建库,用库建表查数据,查数据一条龙下来了,那么如果说我们的主存复制一切顺利的话,咱们的这个从绩是不是也应该有麦DB58号,好那么这个时候我们呢,回到我们的同期,那么呢,来试试吧,看看use是不是MYDB58呀。
27:32
有没有,那么剩下的事是不是from dog,如果这块收工了,有的话是就那么现是不是变成宏机有一条记录,不是反主机有一条记录,宏基是是不是就OK了,好,那么这个呢,就是我们MYSQL相关的主酮复制,那么注意最后一点点。Stop sli什么意思啊,就是要把我们的什么同计呢给停掉,那么这说明个小问题,因为大家都知道,有些时候你看老师做是不是挺顺的,那一轮到你做就挂了,那么这个时候呢,有这么一个小细节,请同学们注意,停从机叫stopli,因为有时候你会再生产各种情况,主机在插入数据,从机不要了,我是先要把它停一下。第二个还有一种情况就是这两个参数有可能各位同学的,因为你们班上有的同学是么十,可能个人环境的差异的话,会导致这两个不是同时是yes啊,你是不是要重新来一次啊,那么这个时候请看这儿。
28:43
假如说你来的时候,他会我故意是不是留了个1198的arrow啊,他会告诉你run stopmer first,就说明你之前是么已经启动过这个slimmer,那么这个时候同学们你是不是先要用stop slimmer先给它停了以后再来一次授权了,但是注意再来一次授权以后,你第二次来了以后,同学们请看我这。
29:09
我们呢,Show master哈,看好,刚才咱们是不是三十五三十幺,那么请问我现在是不是从头到尾又学了一些东西了,这个数据会不会变化。三七,言下之意,我这个刻度尺一样,我是不是已经到737去了?那么假设你第一次配不成高,你要来第二次以后绝对不要刻舟求见说诶,我第一次是三十五三四幺,然后你还配进去不对,每次来了以后都要走,先查一次show master得到最新的刻度了以后继续往下写,听懂了吗?所以说这块的话有一个stop和大家说一下,那么呢,这个呢,就是我们是吗?MYCQ的主从复制相关的配置和讲解,Windows做主机,Linux做重机,那么以后同学们干的活一条龙下来干嘛?往上走,连上GI Hu将会把你的项目和系统传到giu上面,类似于是不是云盘啊,往下你们的数据是不是一定会在Windows有一份,Linus有一份,这样的话,大家是不是一开始就是在主从复制的环境下面,符合最新的互联网。
30:26
工程师的要求了,OK,那么这个呢,就是我们的主从复制。
我来说两句