00:00
好,那么接下来的话呢,咱们就手把手的呢,带着大家呢一起呢,去搭建一下这个易主一从的这个架构,那么易主一从,所以这里边我们会看到了有两台MY呢数据库服务器啊,一个呢叫做master,一个呢叫做slave,好那么这两台服务器呢,我们就把它呢,放在两台不同的这个操作系统当中了啊我们呢这呢就诶在咱们这里边呢,虚拟机,咱们就相当于开两个虚拟机,然后一个虚拟机里边呢,装的是我们这个master啊这个麦库数据库服务器,然后另外一台里边呢,装的是我们这个数据库服务器,那这两块呢,我们尽量呢,它这个服务器的版本呢,都是一样的,或者至少你都是8.0以上的,8.0的版本啊八点零点几的话呢,这个后边这个数的话可以不一样,尽量呢你不要一个是8.0,一个是5.7,那有可能会出现一些版本不一致的问题是吧?好这呢是我们说的这样一个点啊,然后的话呢,我们再去这个搭建完以后啊,接着呢要实现了一个就是主从的一个复制,相当于呢,我们这个在主机上呢,做的相关的增删改的操作,我们呢,得在这个从机上呢,做查询的时候呢,也能看到同样的这样一个。
01:00
效果相当呢,实现了一个主从的一个同步,对吧,哎,这个呢,就是我们要做的事儿。那么这个做完以后的话呢,诶,我们下一步呢,能够实现的就是主从复制之后啊,是不是叫读写分离啊啊针对于用户的这个请求啊,用户的请求的话呢,这个增删改的这个行为,我们就让他呢去操作我们这个master,你要是这种啊查询的这种行为请求的话呢,我们就让呢去操作这个slave啊这样就可以了。行,那么在这个请求这块呢,大家你会发现呢,呃,我这个图当中呢,出现了一个咱们没有讲的一个结构,叫做my cat,这个my cat呢,就是MYSQL数据库的一个中间键啊,一个中间键叫做买cat,当然这个中间键呢,也不管用,买cat啊有很多种,这个数据库的这个中间键,通过这个中间键的话呢,我们可以实现呢,叫读写分离,包括呢,我们还可以呢去实现呢,叫分库分表,哎这样一系列的这个功能,OK,咱们商务呢,也发布了这个麦cat这样一套视频,当然呢,在这个B站呀,在咱们官网呀,诶都可以呢,去搜到这面开的这套课程啊去学习,诶后边呢,我们也会稍微的提一下这套课程里边这个内容啊好,那么不管呢,我们是使用这个数据库中间键了,还是说呢,我们通过这个程序的角度呢,诶实现了一个请求的一个,诶这叫什么区分是吧,协议请求还是一个主请求,总之呢,我们现在重点呢是在这儿,然后呢,针对这个请求来了以后呢,我们就能够诶主从呢,相当于是一个分离了啊读写分离。
02:17
好,那么做这个事儿的话呢,我们需要呢,有一个准备工作啊,准备工作呢,就是相当于咱们需要呢,呃,有两台这个,比如说咱们就以8.0来去演示的话呢,这里边呢,这个send的OS7杠五里边咱们是装的这个8.0,对吧?诶这个之前咱们之前咱们一开始讲课的时候呢,给大家去说过啊,这里边装是这个8.0,然后呢,这个3S这个七杠六里边呢,咱们装的是这个5.7。啊,咱们说尽量这个版本呢得一样,所以说我这块呢,再去克隆一个咱们的,呃,这个虚拟机啊,克隆虚拟机,克隆虚拟机的操作呢,大家还记得吗。啊同学可能忘了是吧,咱们在这个课件这个资料里边这儿呢,有一个叫诶克隆虚拟机这样的一个过程啊,其实呢也比较简单啊,当然呢,就照着这个课件的话呢,你再往下走一遍就可以了,咱们当初呢去安装的时候呢,那咱们这块呢,其实也是克隆的,那这个虚拟机本身就有了,然后这个呢,我们就是当初克隆出来的是吧?好,现在我把这个七杠五的话呢,我把它呢做一个关机,就我们做克隆的时候呢,诶先把它关掉。
03:19
啊,这个关掉还是比较快的啊,那关掉以后的话呢,诶大家这块呢,如果说不熟了,你就按照我这个操作呢,咱们再一起走一下,首先呢,我们点了右键有个叫管理啊,这个位置是不是有个克隆啊,走起好我们点一下这个下一步。啊,这个呢,我们就从当前状态啊,OK,再下一步啊,完整的克隆啊,这个要选它。好,再下一步啊,这个位置的话呢,就是我们起个名字这个,哎,我这儿呢,就统一的都叫这个,呃,七杠多少了啊,我就七杠七了,然后这块呢,我就把它放在诶,我这块虚拟都存放的一个路径。啊,我是放在这个F盘里了。啊,咱们的这个工具里边啊,有一个叫VI。嗯,找一下啊,在这儿呢是吧,好下边呢,就是我放的这样的一些这个虚拟机了啊,我就新建一个文件夹啊,CTRLV一下,哎,然后呢,确定哎确认哎就放这了是吧,好点一个完成。
04:08
好,那么这时候的话呢,就会帮我们呢,去复制一下整套的这个,呃,虚拟的这样一些文件啊,整个速度来讲呢,其实还算是比较快的啊啊,那么接下来的话呢,我们需要呢,要改几个位置啊,这个大家不知道还记得不记得,呃,应该是要四个位置要修改对吧?第一个的话呢,我们需要修改的就是,哎,咱们呢叫。哎,就是我们这个叫麦克地址是吧。点一下这个关闭吧。在这儿啊,在这儿,嗯,这个是这里七杠七好,我们点这个叫哎网络适配器啊,双击打开。啊,稍等一下。好,打开以后的话呢,这块有个高级是吧,哎,再点一下这个呢,是不是我们这个麦C地址啊,诶我们两台这个虚拟拟的话呢,这个麦地址呢,它得不一样啊,不同的机器的Mac地址都不同,那你就点一下就行是吧,你要怕你没点成,你就再多点一下也OK啊,确定,然后点一下那个确定。哎,这就可以了是吧,然后的话呢,我们把这一台啊这个虚拟机的话呢,把它启动起来啊,这个呢,你先就别起了。
05:05
啊,因为这时候的话呢,这个IP地址呢,都一样是吧,要有冲突了啊,你先原来的这个呢,先别起先把这个新的呢,先跑起来。嗯,然后呢,我们需要呢,是不是要修改的,有剩下的三个事儿,一个呢是改一下我们这个主机名啊,改主机名啊这个呢,其实你要不改呢,倒也还行,但是建议呢,你也改一下吧,是吧?嗯,改完主机名以后呢,我们需要呢,做一个重启啊,要做个重启,接着的话呢,重启完以后的话呢,我们去改一下这个IP地址啊,至少的话呢,不能跟咱们这个啊原来的这个是一样的啊,要不的话呢,我们这个叉10L里边去登录的时候,那就没办法了,是吧。啊,这是我们说的这个事儿啊,然后呢,我们再去呢,修改一下这个IP地址啊,就对应的这个文件下呢,改了IP以后呢,再改一下这个UID啊就可以了。哎,看一下啊。嗯,稍微的等待一下。好可以了,然后这时候的话呢,跟咱们这个七杠五里边儿的用户呢,是一样的,诶大家这块要注意呢,不要用这个呃,自定义用户,我们要用这个root用户啊,因为咱们现在要改一下这个是不是用户的这个主机名是吧?啊ABC啊123啊,这是我的密码啊,你写你自己的。
06:16
嗯,这就进来啊,进来以后的话呢,我们去改一下这个主机名,主机名的话呢,是我们在这个路径下啊,这个复制一下啊回过来。嗯,这块呢,咱们还没有配这个客户端,所以呢,我们就在这个主机上,这块呢,哎,整个我们这个虚拟机上的话呢,咱们去做这个执行了,哎打开这个终端,那我们就写一下这个叫V啊,诶你看这种呢,显示的是不是叫爱特硅505,跟我们这个呢是一样的哈,我们这块呢,把它这个换掉啊,走起。哎,把它呢,改成是叫零七啊,改成是一个I的方式啊,做一个调整。好这就可以了是吧,好,那么改完以后的话呢,我们再冒号一下这个WQ啊回退一下,然后呢,我们做一个reboot啊,相当于做个重启。好,这个重启的话呢,我先把这个,呃,视频呢,先稍微的暂停一下。
07:05
好了,那么接着的话呢,我们再以这个入用户呢,咱们做一个登录,诶入用户啊ABC123。哎,登录进来。啊,登录进来以后的话呢,下一个我们要改的是不是就是IP啊好,那这块呢,我们需要呢,进入的是这样一个路径啊,然后呢,CTRL嗯,C一下。啊回过来好在这儿啊,诶我们在呢去打开这个终端,然后呢把它呢复制过来,然后呢回车一下,好在这里边儿呢,我们要改的呢是两个啊,一个呢是这个UID啊UID呢这块我们就做个调整啊,首先呢我们就先点一下这个I,呃,这是一个五啊我改俩吧,嗯,改成比如说叫这个。啊一二啊都可以啊,哎,就保证呢,跟我们以前的UID呢不一样就行,然后呢,我们这个IP地址咱们把它调一下,咱们就相当于是固定IP了啊或叫170。嗯,可以了是吧,好,然后呢,我们点上这个EIC,然后呢,冒号WQ啊就可以了啊嗯,改完以后的话呢,我们需要呢,再重启一下我们这个网络啊,System ctl。
08:03
啊,Restart一下,我们这个叫network啊。回车一下。诶没有问题了,行,那这块呢,相当于我们整个的这样的一个啊虚拟呢,咱们就算是一个克隆完成啊克隆完成,那么这个克隆完成以后的话呢,大家需要注意一个点是什么呀,那你看这块我们也改了是吧?注意个点呢,就是我们这个森S7杠五里边呢,是不是已经装了MYS8.0了,那是不是意味着我们这里边克隆完以后呢,也具备了呀,好,那这块我们可以试着呢去查看一下啊,首先呢叫MYSQ呢杠杠version好你会发现呢,是不是已经装好了,诶然后呢,接着我们可以呢去登录一下啊MYS-u root-P,哎哎,我们这就登录一下,好登录成功了,然后的话呢,我们可以呢去受一下。哎,Show一下呢,叫basis查看一下,你看这里边呢,是不是就我们七杠五里边的这些数据库了啊,我们去use一下,比最近使用的啊DB3,然后呢,我们可呢去一下这个tables这些表你看都有,然后呢也可以呢,Select from这个student,诶是不是呢,就我们之前的这个数据啊,都是在的啊好,那么我们是不是就马上可以去演示这个信息了呢?注意还不行。
09:09
还不行,这里边儿呢,有一个注意点啊,这个呢也是一个坑啊,我们现在的话呢,克隆出来的这个虚拟机跟我们这个原来的这个虚拟机他俩呢,诶myql server的这个UID呢,也是一样的啊,这个呢就是一个坑哈,因为在我最初的时候呢,诶没有注意这样一个问题,然后呢,我们搭建这个一主一从的时候呢,在我们这个从击上啊执行受slave status的时候呢,就报了这样一个错误信息,诶按说呢不应该报了啊,他报出来了,报出来以后的话呢,就得解决这个问题,对吧?啊那你如果说要英语好点的话还行,英语不好的话呢,这个百度你可能都不太好搜是吧?这个原因是什么呢?你看说呢,你这些UID啊必须是不同的啊,对于我们就要进行主从复制这样一个工作来讲。诶,这呢,就是我们说的这个主存复制啊,针对这个功能来讲呢,这个UID呢得是不一样的啊,我当时的第一反应是,诶,我这克隆呢已经改了UID呢,怎么还说这个没不一样呢?诶然后呢,再往前看说呢,Myl serve u ID哦,原来myl server还有具体的一个UID是吧?我们需要去设置,那这块呢,我们就在这个文件里边呢,去做一个设置就可以了啊好,CTRLC一下。
10:18
诶,所以呢,我们再回过来啊,嗯,咱们先做一个退出是吧,然后呢,把它粘过来啊回车一下,好这呢就是咱们这个MySQL server的一个UID啊,这个UID呢,哎,我就不演示这个七杠五了,它俩呢肯定是一样的复制的嘛,诶咱们在这呢做一个修改啊,首先也是点一下这个I。嗯,把这个呢,比如说改成是一吧,然后我们再点一下EA冒号呢,WQ,诶这样就可以了,是吧,那我们这块改了以后呢,你可以呢,是不是把我们这个MYSQL这个服务呢,是不是再重启一下system。哎,C啊,Restart一下MYD啊,是不是这样就可以了,哎,凑齐啊。好,这呢是我们的这个,呃,这个这个这个虚拟机我们现在就给它克隆完成了啊这呢咱们就把它就关掉吧,哎,那主要的话呢,咱们是不是还得是通过咱们这个叉上呢,来进行一个访问是吧?哎,那这呢,咱们就给大家去做个新加啊啊新添加新建一个会话啊幺九二点幺六八点啊1.1注意咱们刚才那改过是不是叫170就它呗啊然后CTRLC一下这个我们也设置一下。
11:21
嗯,没啥了是吧,来我们点一个确定啊。好,然后呢,诶让他呢去连一下啊,记住一下这个用户,我们就使用这个root用户呢,来去登录。嗯,然后呢,咱们就可以呢,把咱这个呃,七杠五呢,也给大家启动起来了。呃,那么我们启动起来以后呢,咱们可以呢,让这个七杠五呢,去充当咱们这个主,就是master,让这个七杠七呢来充当这个从,就是这个slave实现呢,一主一从的这个主从复制啊,那下边呢,我们就具体的这个配置情况了。行这块呢,填一下这个密码啊,我们的ABC啊123啊,这个呢,是咱们这个虚拟的这个密码啊,注意一下,好,这样的话我们就连成功了啊,然后呢,我们在呃,前面这个七杠五的这个还没起来,还没起来啊。
12:07
嗯,行起来了啊,这个我就不在那块去登录了,然后呢,他起来以后呢,我们就把这个,呃,这个150呢,是不是就也可以呢,给他登录成功了。然后这里边儿呢,咱们主要呢,就体现这客俩啊,它俩的一个具体的操作了啊,那这块也登录成功了,咱们可以在这稍微的看一下啊,先调一下这个字体大小吧,啊在这啊。改成这个比如11啊,稍微的大一点,哎在这呢,我们也去登录一下啊,MYSQL-U来root是吧,杠P啊ABC啊123,哎这呢就登录成功了啊,刚才我们也都演示了啊艾特硅谷DB。三是吧,Select from这个student。哎,都没有问题,好这个呢也登录成功了,好那么这个准备工作做完以后呢,我们下边呢,就可以去做这个,诶主机和这个从机的相关的配置以及演示了。啊,那么这个准备工作呀,咱们就做好了啊,接下来的话呢,我们就开始呢,真正的去搭建一下这个一主一从这样的一个架构啊,实现呢主从数据的一个同步,OK啊这里边呢,我写的这个文档呢,是比较清楚的,咱们就按照这个文档的顺序呢,往下走就可以了,首先的话呢,我们针对这个主机master呢,我们做一个配置,注意你看我这里写的叫配置文件,咱们前面呢讲这个参数的配置的话呢,是不是讲过这种配置文件的方式也讲过呢,我们这种临时的方式啊,就set一下global或者session啊对应的变量啊,这块呢,咱们推荐呢,大家使用的是配置文件啊,为什么这么讲呢?你想想我们这是主机,这个是从机,然后我们配置好这个信息之后呢,它俩就实现一个同步了啊,那如果说我们这个主机呢,比如说宕机了,哎,我们可以呢,让这个重机啊,或者我们这时候就叫这个备机了,它呢来充当咱们这个主机的话啊,那这时候的话呢,哎,你想想我们要重启以后呢,你这个主机,原来的这个主机里边有些参数呢,就恢复成默认的一个设置了,这时候导致它俩的话呢,是不是就出现一些同步的问题了,诶所以呢,我们不要这样去做啊,咱们呢就在这个。
13:57
配置文件当中实现一个永久式的一个配置啊,对应的我们是配置在这个MYD这样的一个标签下边的啊,注意一下。
14:06
好,那么首先的话呢,我们来看下这个master这个配置信息呢,都有哪些必选的参数呢?啊,这有两个啊,一个呢叫server ID啊,就是给我们当前这个主机呢,提供一个ID值,哎,不管我们这个主机了,我们一会儿的这个从机啊,也需要提供ID啊ID啊大家想象一下我们这个MYS库这个集群里边有很多台这个MYSQ的这个服务器,我们是不是需要呢,给每一个主机呢,都提供一个唯一的ID值啊,诶便于呢去区分每一台这个服务器啊,这个大家注意一下,所以这个呢是必须的。然后第二个类参数呢,我们说呢,启动二进制日志啊,咱们呢,上一章是不是讲这个blog的时候呢,说过它啊,相当于我们生成的这个一系列的二进制日志呢,它是以哪个文件呢,这个呃前缀开头的是吧?诶咱们前面也提到过,说建议大家呢,是不是你把它放在一个指定的目录下,而且那个目录的话呢,最好呢,是不要呢,放在我们这个数据目录下啊,外点立点MYSQL啊,因为那数据要丢的话呢,就全都丢了。
15:00
是吧,数据库丢了,然后我们这个,呃,相当于存储这个blog文件的也都丢了啊,这就麻烦了啊。当然这里边呢,有一点好处呢,就是我们这块有主虫了啊,就即使呢,你这块针丢了以后呢,我们重新上来也有,那也行啊,也可以啊。好,这呢是我们说的这样的一个参数啊,这儿呢,我就还用咱们上一章的这个爱德硅谷啊,这个斜线B啊,盖中华线啊这个B这样的一个呃位置了,然后呢,下边呢,有这个可选的参数,我们看一下这个叫read only啊,这个零呢,哎是一个默认的情况,表示呢,我们可读可写啊,就是能写表示呢,你是可以做这个主库主机,然后呢,写成一的话呢,就是一个只读了,只能做这个从集了。好,然后呢,我们这个参数和这个参数呢,在上一章呢,都提到过,我们这个日志文件呢,保留的时间,然后呢,这个日志文件的一个大小,这是它的一个上限啊,这个默认情况呢,都是这个EGB。好,然后下边这块呢,我们可以设置呢,不要复制在这个数据库,诶就是我们这个呢,诶你针对于某些库的一些修改操作呢,我们就不要记录在这个blog文件里了啊这个就一个no,就忽略的意思,嗯这个同学呢,说我是不是要把我们系统的默认的那些库呢,都给它叫一个no呢?啊其实也不建议啊,你比如说我们这个叫MY这样的一个数据库,它相当于我们里边呢有好多这个数据字典了,诶我们有哪些用户啊,有什么样的权限啊等等的都有记录,最好呢,也都是诶记录到我们这个blog里一下是吧?诶要好一些啊,那这个呢,其实平时呢,你就可以不去测设置了啊,然后下边的话呢,就明确指出呢,我们需要呢去呃,往里边呢,去复制的这个数据库是什么啊,就通过这个参数呢,可以去做一个记录,然后再往下的话呢,就我们这个blog的一个format,就是它的一个格式,默认格式,默认这个格式呢,是这个statement。
16:39
嗯,咱们现在的话呢,先重心不放在这儿啊,因为这个呢一两句话呢还说不清楚,咱们先整个呢把这个呃,易主易从的这个情况呢,先搭起来,我们先呢测试一下没问题了,我们回过来呢,再去专门说这个参数的事儿。好,那这块呢,咱们就去做这个修改,首先呢,针对我们这个主机啊,我们就修改的话呢,就一下啊ETC下的叫点CF是吧,进来,然后呢,我们上一章的时候是不是设置过这个参数啊,现在咱们就把它呢,比如说就嗯删了吧,哎,我们就DD。
17:07
哎,就删掉了是吧,好,那我们点一下这个I啊,然后在这呢,我们去粘过来相应的这个指令。首先呢,把这个必选的这两个呢,我们CTRLCL一下粘过来。哎,然后呢,把这块呢,复制过来。啊,把它们都打开,首先的话呢,上面是这个ID啊,刚才已经解释过了啊,哎,这个那就不要了。嗯,这个好,嗯,这两个呢,我们就留着了,然后呢,下面的话呢,我们呢,可还可以呢,去指明一下,比如我们就明确一下,咱这个数据库呢叫什么啊,这个数据名呢,你可以自己指定就行啊,比如我这块呢,CTRLC一下啊回过来。哎,咱们在这呢,把它呢粘过来啊,这个blog do DB叭如说我们起个名吧。嗯,哎,那我们就用刚才那个名吧,比如我就艾特硅谷啊,Master啊,这个有点长哈,诶slave啊这样的一个数据库名,行下边这个呢,就是我们说的这个b logg这个格式,这个呢,其实咱们是可以不去设置的啊哎,但是呢,我这块呢,想凸显一下呢,就有这么几个参数呢,是比较重要的,所以呢,我就又把它呢写过来,行就这么着,然后呢,我们就WQ呢保存并退出,然后呢,我们是不是需要去重启一下啊哎,这个restart,哎,我们的MYD。
18:18
M sod没问题了,好,那么这样的话呢,我们就是针对咱们这个,呃,主机呢做了一个设置,然后呢,我们来考虑一下这个从机啊,重机的话呢,我们把它呢再重新复制一份啊好回过来。嗯,从基这块。那这块写说搭建完这个主,呃,先搭建这个完主从复制再去创建这个数据库啊呃,数据库的话呢,我们一会儿再说一下啊,就是现在呢,先不要着急呢,把我们这个数据库呢,先创建出来啊,为什么一会儿解释啊。呃,接着的话呢,我们来看一下咱们这个叫诶从机的一个配置啊,里边呢,必选的参数呢,就是ID,然后呢,可选的参数呢,就类似于我们这个blog一样啊,指定我们这个re类啊log就是终极日志的一个文件的前缀啊,就是它,嗯,把这两个我们都可以呢去复制过来啊好,首先呢针对的是我们。
19:06
哎,这个参数啊。好,那我们这块呢,也是先把这几个呢都先干掉。啊,点一下这个I啊回车,然后呢,粘过来。哎,把他那打开。哎,没问题是吧,好,然后呢,我们再来换行。哎,把这个参数呢,我们也粘过来吧。嗯,就这么着是吧,好,然后呢,接下来我们先EEE一下啊,然后冒号WQ啊保存并退出,同样的我们去重启一下我们这个呃,MYS库的这个服务器啊,因为我们已经修改了这个配置文件了啊。好没问题,好,那么这样的话呢,我们就把,哎这样咱们交换一下位置吧,就把我们这个呃,Master和我们这个s slave呢,这个配置文件呢,咱们就设置好了,设置好以后啊,为了我们能够实现主存的一个同步数据啊,一定要把这个防火墙呢给关闭一下啊,咱们这块呢,应该是之前都已经关过了啊,这个时候呢,可以做一个查看啊,以防万一啊,然后呢,叫做status是吧。
20:09
啊fair world啊周琦好,这块呢已经是个带的状态了啊,其实这块呢是个带的话呢,基本上我就不用在这块去查看了啊,因为呢,这个是咱们克隆过来的是吧,还是呢,以防万一啊,搂一眼。Status。哎,Firework是吧,好,这个呢也没有问题啊,那OK,那我们关于呢,这里边的第一步和第二步呢,我们就做完了,那接下来的话呢,我们看一下这个第三步又回到我们这个主机层面啊,我们这时候呢,需要去创建一个账户啊,就我们主机上的一个账户,然后把这个账户呢,有一个呃,主从复制的一个权限的赋值,然后的话呢,我们在重机当中呢,诶去读取。哎,就是这样一个过程啊呃,那么如果呢,你是MYSQL5.5或者5.7的话呢,直接执行这一行指令了就搞定了。啊就没有问题啊,那如果呢,咱们使用的是MYSQL8.0,那这个呢事稍微多一些啊,主要原因呢,就是因为我们涉及到一个这个啊密码安全机制的一个模块啊,这个呢是稍微麻烦一些啊,这里边呢也都是血泪史啊啊因为网上呢可以参照这个资料还是比较少的,然后这块呢,还实打实的呢,就是在这块踩坑了啊哎,把踩这坑呢我也列到这儿了。
21:16
好,那我们就按照这个顺序呢,咱们先去操作一下,首先啊,我这块呢,复制在我们这个啊,Master这里边啊,咱们先做一个登录。啊,买车啊。ABC123登录好是吧,然后的话呢,我们去创建这样一个用户,这个用户呢,这个名字呢,大家自己指定就可以了,我这呢叫六一啊这个呢是一个百分号的方式是吧?哎这个咱们都讲过了,Identified by密码123456 OK好回撤一下,哎用户呢就创建成功了,哎创建成功以后的话呢,我们需要呢,给他去赋予一个权限。好,张国来说这个权限呢,叫replication slave啊,这个呢,就是我们叫主从复制的意思。啊,针对于任何库下的任何的表给了我们这个用户了是吧?诶这个权限呢,是要有的啊,是要有的啊,哎,你给了这个权限以后的话,你也可以呢,是不是去查看一下啊,这个比如说叫show,哎,当然这个操作话呢,是不一定非得要做的啊,就是我这块演示一下shows,然后呢,For一下啊slave。
22:15
啊一啊,你也跟他去做一个查看啊,艾特一下啊,针对这个用户,哎,然后搜起啊,哎,说明呢,我们已经有这样的一个权限了啊。好,这个给完以后的话呢,注意如果呢,我们是MYSQL8的话呢,大家一定要把这个操作呢去执行一下,否则的话呢,一会我们再重一上,最后呢,执行这个啊叫收slave时候呢,他就会给我们报一个error啊,这个error呢,你看一下他这个信息啊,他就说呢,我们有个加密这个模块啊,这个模块的话呢,我们报这个错误信息了,诶当初呢,咱们在呃一开始Linux环境下呢,装这个MYSQ的时候呢,我们是不是在这个呃SQ要里边远程登录的时候呢,也报过这样的错误信息,哎,咱们当时呢,是不是也执行过这样一个指令啊。哎,注意啊,所以这个呢,必须要执行啊,这是血泪史啊。
23:01
啊,那如果呢,你是5.7就不用了,5.71之所以写的比较短,主要呢,就是它不用执行这行语句,OK把它呢整过来。嗯,看一下啊,你这里边这个密码别写错了啊,跟上边这个呢,这是一致的啊,诶我们刚才在这儿设置的啊,行回车一下,那这就可以了啊,然后呢,我们去诶flash一下啊。啊,这一次是吧。写错了啊,Prevail。诶这次是吧,好刷新一下我们这个权限,OK啊这呢,关于我们这个服务器这块呢,我们创建用户这个事儿呢,咱们就诶告一段落啊,然后接下来这个层呢,就比较重要了,我们叫show master status啊把它粘过来啊,直接呢跑起来啊,那么这个时候的话呢,我们就会看到这样的几个信息啊,我们把这个信息呢给它截一下,因为一会呢我们要用。主要要用的呢,其实是我们里边的这个和我们的啊这个位置啊这两个位置,呃,这个呢,就是我们当前呢,是不是把这个blog,哎,就是我们的整个的这个更改语句呢,写入哪个blog了,是不是这个文件呀,啊这个注意一下,然后呢,我们这个position是什么呢?哎是这个位置。
24:11
好,那么基于这个位置呢,诶我们一会儿呢,呃,主机从机它们两个呢,这个配置呢,都搭建完以后啊,都启动起来了,保证是同步了,咱们接下来的话呢,是不是执行的每一个操作,只要呢从这个位置开始,你只要呢起入到这个blog了。那我们呢,是不是这个从级呢,就可以把这个数据呢读过来,哎,放到中介日里边,他再去同步一下他这块的这个,呃,文件是吧,数据库就可以了。好,所以说啊,咱们解释一下刚才那会儿这个问题啊,大家呢,呃,目前为止先不要呢,去创建我们刚才的指定的自己的这个数据库。啊,因为这时候呢,如果你要创建了的话呢,我们是从这个节点往下走,才会实现我们从集这个备份,那你前面的都已经有数据库了,但我们这个从集这块呢,还没有数据库呢,那不就麻烦了吗。哎,所以说呢,我们都配置完以后,咱创建数据库的这个create语句这块呢,是不是同步的也会去create了啊,这个小细节要注意一下啊,像这个呢,我们就摆到这儿了啊,那么目前呢,我们这个master呢,大家就不要动了啊,因为一动的话呢,导致这个位置呢就不准了是吧?啊那么回过来。
25:12
诶回过来我们下边呢,是不是可以去操作我们这个叫从机的这个配置了啊,从接这个配置的话呢,我们需要呢,去设置这样的一些参数啊,叫host,就是我们这个主机的IP地址,就是我们那个150的啊啊这个用户名的话呢,461,密码123456啊这个呢就是写我们这个文件啊,这个呢,具体值呢,就写这个值啊,当然这块你还有一个叫port啊,就断号啊,默认的3306,所以我这块就给省略掉了啊。行,那这呢就举了一个例子啊,咱们把这个呢,CTRLC拿过来。嗯,我这呢就放到这啊CTRLV啊直接做个粘粘贴啊,然后呢,我们去修改一下啊,大家这块呢,一定要看清楚,这是我自己的,别跟你那块呢,诶不一样了,然后你还用我的那不就坏了嘛,是吧?诶我呢呢,前一个这个主机master的一个IP地址啊,192.168.1.150没问题,后边这个用户呢,12461没问题,PASSWORD123456啊这是我自己的啊,诶这个位置大家注意一下啊。
26:08
这个呢,就是咱们这个文件啊,你看一下你在当初配置的时候呢,是不是艾特硅谷杠B开头的,你要不是的话呢。你别写成我这个啊,那这也是坑啊,血泪史是吧,然后这块呢,我们写成是个五,然后再后边这块啊,咱们指定的是1135是吧,哎,三五好没问题,没问题,以后呢,我们就诶回车一下。啊,激动了是吧,这个操作呢,咱们需要呢,在这个MYSQL这个指令下去做,相当于我们得登录一下啊,我先把这个呢,先复制一份。啊,复制一份啊,那我就在这执行吧,咱们刚才那块呢,有一个登录的是吧,好,我们这块呢,执行一下啊,走起。哎,可以了是吧。嗯,这块呢,他给我指定了,说我们这个数据库了是哪个,其实这块呢,咱们到用不着指定具体哪个数据库了啊,没有连接。啊,其实执行成功了啊,行,那我们就这样接着往下走,呃,那么这个呢,我们就操作完了,操作完以后的话呢,呃,诶注意我这块再多说一个问题啊,有的同学呢,在这个执行完以后呢,就报错了啊就我刚才这个操作完以后报错了啊报的错误信息是什么呢?报的这个啊说呢叫呃,Run stop slave first啊就是如果说呢,你之前做过这个主动的配置,而且这个从进你还开着呢。
27:21
啊,这个时候呢,你要再去执行它呢,它就报错了啊,或者有同学说我们没有之间配置过,但是一会儿呢,配置配置到下边的时候呢,报错了,报错以后呢,又重新来配置,但是重新来配置的时候呢,一定记得呢,先去做一个stop。啊,就得去做停止啊,你要不停止的话呢,你再重新再去做这个配置信息呢,你像你还没停呢,你怎么重新让他去生成这个文件呀,对吧?诶这要小心一点哈,好,那么这个完了以后的话呢,我们接下来就可以去做这个叫start这个slave了。啊,回过来,然后我们呢,把这个指令呢粘过来,Start这个slave啊,走起。啊,执行成功是吧,啊,我这块成功了啊有的同学呢,哎这块呢,中间来回操作啊,又去调START16呢,就报错了,可能呢,会报这个错误信息。
28:04
啊,可能会报这个说s slave呢失败了,去初始化,我们这个叫诶终极日志啊怎么怎么着,就如果呢,你前面呢也开启过,然后又给关掉了,关掉以后呢,又去start,这个时候呢,已经有终极之日了,哎就报错了,怎么办呢?诶你去reset一下这个405。啊Reid呢,他就把我们之前的这个中极日账就给删掉了,然后呢,又重新生成一个新的。啊,就再去start就没问题了啊,这个注意一下它啊,哎,你要没有报错的话呢,就不用去这个reet了啊好,那么成败呢,就看我们下边这个指令了啊,叫show slave status啊走起啊,CTRLC回过来,我们粘过来一走。好,那么这算成了还是没成呢?哎,大家你看啊,就找这个事儿。啊,如果啊,这个位置啊叫slave running是yes,然后呢,这个slave running也是yes,好,那么恭喜你成功了。哎,相当于我们现在这个主从呢,现在呢,就保持的是一致的状态了。
29:03
啊,咱们还没测试呢啊,等于说那如果有的同学呢,在下边啊,有一些这种error啊,比如说叫last error啊,或者我们有这个什么IO的error啊等等啊像这块是吧?哎,那么这块呢,你要是比如这个位置写的yes,这个叫connecting啊,连接中啊,它通常呢,会在我们这些位置呢,去给我们报一些错误的信息。啊,那根据这个错误信息呢,我们去排这个错误就可以了,常见的错误信息有什么呀?哎,比如我这块列的哈,像这个网络不通啊,你比如说上面呢,我们设置这个这个这个什么啊,你像这个位置呢,每个位置要错了都够呛是吧?IP写错了,密码写错了,这个文件呢,呃,名没改啊,跟我这不一样的,你那块没改是吧?哎,这个位置啊,这位置呢,可能还好一点啊,关键这个文件呢,找不到那不行。哎,包括呢,刚才我说的,哎,大家呢,如果在8.0当中没有这个语句的话呢,就会在啊last error error这个位置呢,就报这个信息啊,这个呢说的就是它。
30:00
呃,Last这个位置啊,这都是血泪史是吧,要小心一点,好,那么目前的话呢,咱们这个呃主从呢,相当于是整个上就搭建完成了,搭建完成以后好回过来,哎,咱们现在在这个位置呢,咱们是说要针对这个数据库去做操作嘛,好,那首先的话我去叫create。阿。啊,Create这个data,咱们呢叫硅谷。啊,然后呢,叫a master slave。诶,是不是我们去创建这样个数据库是吧?哎,走起创建了,然后呢,我们去use一下啊,这个叫艾特起的这个名稍微有点长了啊。哎,好,然后呢,我们去收一下这个tables。诶收tables,你看这时候是没有的是吧,好,那么回过来这块呢,我们也去啊同步的做个操作,看一看这时候呢有没有啊首先呢,我们可以呢,收一下叫data basis。好,那么这里边儿呢,诶,你会发现呢,是不是就有我们这样的数据库了,好,我们去use一下。
31:00
啊叫啊艾特在硅谷。Master。哎,Slave诶是吧,哎,这个我们就使用了啊,然后呢,我们去说一下这个tables,哎,你发现了是不是就什么也没有,那有同学可能会想说,老师你这个是不是说提前就已经创建好了,哎,咱们接下来呢,接着去走,你不就能证明了吗?是吧?哎,那我们下边呢,去create一个。哎,咱们来一个table table呢,比如说我们叫做这个student啊,首先呢,是一个ID类型的啊,来一个name。哎,Work类型长度15,诶比较简单是吧,好创建一个表,然后呢,咱就接着呢去往里边填数据了,哎,Student ID name。啊Y64这样能写个一啊,比如叫Tom啊,然后呢,先添加一条吧,然后再来一条这种比较二。二是吧,嗯,这个位置呢,我写成它啊,大家注意一下,哎,我们这样两个艾符,哎,咱们有个系统变量叫host name是吧?哎我们把它呢,诶也添加一下。好,这两个操作完以后的话呢,咱们回过来啊,这不是show tables没有吗?我们再收tables,诶你就发现它是不是就思就在了,所以呢,我们就实现了主从的一个复制啊同步。
32:09
嗯,接着的话呢,我们去select。改哎,From一下。哎,这个student好,我们走起好这块呢大家去看啊,呃,现在的话呢,我们呈现出一些数据,1TOM,我们刚才加的二啊艾特507,诶这个艾507,那我们这块呢。哎,Select,哎行from一下,哎,我们在艾,哎这个student是吧。诶这样操作一下啊,这块呢,我们是不是就看到这两条数据,然后这里边呢,大家你会发现呢,是不是有一个区别啊,就是我这个位置呢,写的是一个系统变量叫host name,在我们这个主机里边呢,Host name呢,诶就是诶我这块呢,同步的再去创建一个的话呢,就像我们的170里一样,嗯也一样,我们是不是看到这个呢,就是我们的主机名叫爱507,所以呢,我们在这儿呢,就爱硅谷零七了,但你要这150里边呢,哎,它是不是显示的叫爱硅谷零五啊,哎,所以这块呢,就显示的零五。
33:02
诶通过这个的话呢,其实我们能证明啊,那会儿呢,我们想说的一个,诶,关于我们这个主机里边设置,我们这个叫blog这个form这块呢,会有一个这个区别点啊,通过它呢,我们可以呢去做一个解释啊。好,我们埋下一个伏笔,嗯,OK,那基本上的话呢,通过我们刚才这样一个演示呢,咱就实现了一个主从的一个是不是复制操作呀,啊主从一个复制操作啊,没有问题的啊行,嗯,这个我们说到这儿,然后的话呢,下边呢,涉及到涉及到一个就是我们的一个停止的操作了,还是得在我们这个。这块去执行啊。好,这样的话呢,你相当于我是不是就做了个stop啊,那stop完以后啊,有同学说呢,哎,我是不是就可以去再去做这个stop了啊,你可以呢,再去,哎我们把它那开启一下。开启了是吧,哎,那么开启以后的话呢,我们接着呢,是不是再可以呢,去叫show啊,叫status啊slave。
34:01
哎,然后这块我们杠这个啊,这样呢再去看。啊,这个写错了啊,应该呢是受一下叫slave。哎,Slave status,哎,然后呢杠G啊,然后走起好这块我们再来看啊,这块呢,还是这个yes的啊,刚才呢,我就演示一下我们如何呢去把它停了,然后呢,再做一个这个重置啊这样一个情况,那如果大家这块儿呢,在重置的时候呢,出现一些问题的话呢,呃,你可以考虑呢,再去加一个呢,呃首先呢是一个叫呃reset一下这个,呃这个slave是吧。哎,在哪儿呢?诶可以考虑呢,你去加一下这个叫reet下这个slave,这样呢就会清除我们这个rela日志啊,这个中级日志,然后的话呢,诶特殊情况下呢,你还可以呢,再重新的让他呢去做一个重置啊,这块呢,我们可以呢去re master好那么这样的话呢,咱们就把这个呃易主一从的这个搭建的话呢,咱们就说清楚了啊。
我来说两句