00:00
清楚原理之后啊,咱们要动手去搭下一主一从的,哎,咱们MYSQL主从复制,那这块呢,呃,得需要两台机器啊,这块我已经准备好了,一个是咱们的什们的HOST79这台机器,一个是咱们的HOST80这台机器啊决定把HOST79这台机器的MYSQL啊设定为咱们的主机,而咱们的呃,Host的八零这台机器设定为从机啊这块呢,呃,主从角色都定好了,咱们得动手去什么呢?真正去配置了,那咱们看一下啊,这块首先得修改一下咱们的MYS的配置文件在哪?诶,ETC目录下各位很熟悉了,是咱们Linux系统下放配置文件的目录,还有咱们的什么呢?哎,后面卖点CNF,咱们买S的配置文件,咱们要去修改一下它啊,要修改什么内容?首先新增一个什么server-ID,这是什么?哎,表明我这个服务ID是什么啊各位这块千万注意,咱们搭主从。
01:00
复制SOID必须都得配,而且ID数要确定不一样才可以,好再往后啊这块呢,呃,启用咱们的什么呢?呃,Log b,咱们的b log二进制日志啊,这也得加上,还有就是我设置什么呢?不要复制数据库啊,各位都明白在咱们的什么呢?MYSQ数据库,诶这个默认的有什么呢?诶默认建四个数据库,而这四个数据库里面买四扣是什么,咱们系统库啊,像系统库这诶这个类似的这些库啊,咱们都不需要进行复制了啊,所以各这块呢,呃可以设置,诶我不要复制数据库啊,当然这块更重要的一个什么,诶你需要复制的数据库的名字啊咱们诶这块选择一个诶创建一个,比如说咱们要test DB啊这么一个数据库,那我想问一下各位啊,咱们,诶这个泰斯DB,诶这个原先数据库有没有啊,用不用先把这个库建好啊。啊,有同学说啊,不用建啊,为什么不用建?各位咱们还说过my circleql主从复制是不是从接入点开始复制啊,你如果在咱们的主机上,哎,我把这个DB诶给建上了啊DB咱们已经建好了test的DB啊然后呢,诶我搭起主层复制,然后我往这个诶这个数据库里面创建一个表,往这个表里什么呢?诶咱们插入数据,各位那出会出现什么情况?诶咱们把这些什么呢?写入数据库的语句全都传到从机一执行,诶从击是不是该报错了,因为什么它是不是从接入点开始复制你原先创建的数据库,它是没有的啊所以各位咱们需要什么呢?配置一个什么呢?你还没创建的数据库,然后呢,诶在搭起主存复制以后,在主机新创建数据库,再创建表,然后再往里插入数据啊,这样可以保证咱们的从击复制也不会有任何问题啊,这块需要注意一下,那再往后啊,这是什么需要。
02:57
复制的数据库咱们要配好,还有就是设置咱们b log日志的格式啊,这个配置项也非常重要,咱们就默认的就成sment就可以啊简单说一下诶咱们的B日志的格式有三种格式,首先默认的是什么呢?诶sment它的特点啊,就是把所有的咱们的诶写操作的日志写到咱们b log日志里面啊这个circle我给你写进去,然后复制到从器去运行,但是各位看这个circle口,哎,我这个更新的数据,诶它等于什么?哎,现在的系统时间各位那这块的SQ在我主机运行下,在我从机运行下,诶数据一这样吗?咱们时间是不是在变化,所以这块呢,会造成数据不一致啊,这是咱们sment这种什么诶日志格式的缺点,那还有什么呢?哎,这块MYS还给咱们提供一种模式,哎,就是它什么肉行模式啊,行模式特点,哎,我这块不记录你的写色Q了,记录什么。
03:57
啊,每一行的改变,哎,各位是不是觉得这个挺好的啊,可以保证咱们主从复制啊没有问题,但是它也有缺点,什么缺点但凡啊,我这块呢,哎,更新这个操作,Update操作,哎,我是全表更新,没有条件啊,我执行一个update语句,整个表数据全刷新了,但有一个事儿,各位如果是行模式,我这个表啊有10万行,它是不是就得记录10万行的变化,那这块到从机就得执行10万次啊,效率太低啊,这也是啊,也存在一些缺点,还有啊,那这块再往后啊,咱们的MYSQL又提供了第三种方式,咱们的诶maedd这种方式,它的特点会进行选择啊,如果你这个诶SQ里面有函数,我自动切到行模式,如果这块呢,哎,你这个参数里没有这个,诶,会造成主从复制不一致的函数的时候,我还是用你sment啊这个哎两个进行智能选择啊,这样是不是挺好的,但是有一点咱们ma。
04:57
PD也存在缺点,它识别不了这个东西,这什么呀,两个艾字符后面一个字符串,这叫什么系统变量啊,咱们可以看到系统变量什么是不是主机名字,各位但凡主机名字啊,是不是这个我一般Linux系统下每台机器名字都不一样,那这块呢,是不是也会造成主存复制不一致啊,那这三种格式各位需要了解好咱们把主机的配置给配置上直接修改一下就成,直接VM咱们的什么呢?MYS库L的配置文件就可以好打开啊咱们在什么呢?啊在下面咱们光标下下一行录入敲什么敲O啊这块中文了啊敲O这块呢,还插入咱们的配置项,首先啊,你得加什么SSOID等于一啊,这块配置上它等于一,好哎,再加入一个什么呢?哎,咱们启用咱们b log日志啊,这个也是,哎,要添加上。
05:57
好,再看还有什么,哎咱们哎不要复制数据库啊,咱们就诶举一个为例子,就是咱们的MYSQL数据库,当然各位这扩到诶存在逻辑的原因啊,你要指定了要复制数据库是不是这块,哎不设置也可以啊,但是咱们为了严谨啊,还是把这个加上啊,提醒一下自己,咱们的什么呢?系统库是不需要复制的,好再往后就是咱呢要复制的数据库啊,这个库,诶这数据库现在还没有,咱们把什么呢?诶这个配置项加上,然后呢,诶咱们设定它的什么呢?哎,数据库咱们就叫test DB吧,Test DB啊这么一个数据库啊,这是我要复制的数据库,还有就是最后一个,哎,咱们用默认的dilo日志的格式就可以。
06:44
好,这就是咱们买SQ的配置文件,主机的配置文件信息啊配置呃这些就已经够了,好,咱们保存了一下ec冒号WQ,好改好咱们主机的配置文件,下面做什么?咱们得去改从机的配置文件啊,相对主机而而言啊,从机这块呢,配置项更少,设置下搜ID,然后再启用一下咱们really log啊reallylo是什么?各位再回顾一下啊在这这叫中继日志啊,咱们的什么呢?从基这块必须要启用的日志啊,咱们把这两项也给什么呢?诶配置好进到咱们的什么呢?诶同样是在咱们的什么呢?从机啊,咱们八零这台机器VM我去配置下啊在什么呢?诶ETC目录下的什么呢?哎,咱们的卖点CF好进去后啊,在咱们的整个配置信息的啊最后啊,咱们下一行录入,插入咱们信息,首先啊,你是什么呢?SOID等于二。
07:44
好添加上还有就是什么呢?哎,启用咱们really log的什么呢?日志啊,这块中极日志启用好,把这两项配置好就可以,咱们什么EA,然后冒号WQ,好,我配置文件都配好了,我想问一下各位,诶现在生效了吗?啊各位都知道是不是咱们Linux系统下,你修改了配置文件之后,是需要重启才能生效的,好,咱们重启一下咱们的MYSQL服务,既然是服务什么,哎在咱们SS7下面是用什么system啊这个命令来管理的,咱们restart restart,哎,咱们的什么呢?呃,MYQD啊这个服推车。
08:37
哎,各位重启起来了吗?啊,有同学说啊,提起来了啊,怎么那么肯定啊啊你是不是得看一看啊这块各位还是那句话,不要相信啊这块哎以往的经验啊,不要相信你的自己脑里的想法,相信什么,是不是有图有真相,咱们相信代码对吧啊什么的,哎,Status查看一下状态,能看到这一抹翠绿就证明什么?哎,你的MYSQ重启成功了啊同样啊,咱们的相应的操作也在咱们的什么呢?哎,在咱们的从机也去运行一下,直接啊把命令咱们复制过来再去运行一下,哎把从机也什么重启一下,让它的什么配置生效,同样也是啊咱们哎查看一下它的状态,Status各位能看到什么?哎,是不是也是一抹翠绿对吧?啊这是什么呢?重启都完成了之后做什么事啊,既然重启都完成以后,哎,下面咱们得确认一些。
09:37
的呃,问题首先啊,咱们的重启啊,让咱们的配置文件生效之后,你得确认主机的什么防火墙都关闭了啊,为什么有防火墙在会拦住咱们的什么相应的操作,好咱们看一下啊,还是刚刚的命令啊,直接查看哎查看服务的状态,查看谁呢?哎,Fair好,查看一下防火墙,哎各位可以看到是不是已经关闭了啊,同样咱们到什么呢?哎,没有那一抹翠绿啊,这块什么呢?关闭的好咱们再复制一下,到什么呢?重机确认一下,诶也已关闭啊,这就可以了。
我来说两句