00:01
同学们大家好,前两节课呢,我们带着大家一起安装了MYSQL,这节课呢,我们来讲解一下MYSQL多实例,在了解MYSQL多实例之前呢,我们要搞清楚一个概念,什么是MYSQL实例,MYSQL实例呢,它的构成是由进程。线程以及预分配的内存组成。还有一点是买斯库呢,是单进程多线程。的结构。我们来拆分来讲一下,什么是进程,进程呢?就是正在运行的程序,就叫做进程。那怎么去查看买车步的进程呢?查看哪一色卡进程,我们通过杠EF去进行查看。
01:01
这里,秘密在这里。杠EF来。可以看到美足的进程ID是1613。把这个命令复制一下。这是查看进程杀死进程了,杀死。马进程。可以通过Q。或者是QQ。那后面跟的是进程号。PQ呢是进程ID,进程名称。OK,在生产的过程当中呢,大家尽量不要使用这这种方式去,嗯,关闭MYSQL。
02:02
好了,讲完进程之后呢,我们再说一下这个线程,MYSQ呢是多线程,在启动MYSQL之后就会生成多个线程,我们来列举一些MYSQ的一些主要的线程,比如说有master。Thread。然后pro机pro还有这个配。Me cleaner thread,还有就是iread。有这些主要线程,我们先来大致的去介绍一下它这些线程都是用来干嘛的。Master thread呢,它主要是用于。保证我的内存与磁盘上的数据一致性,它包括脏页的刷新,然后按度页的回收,然后合并插入缓冲等等。呃,随着版本的升级呢,嗯,Master th它的就是功能呢,就会被project page cleaner这些线程给替代,Po线程呢,它主要是用于回收嗯,镀液。
03:21
啊,配cleaner呢,它是用于刷新张业的。OK。IO呢,是处理IO请求。这是这些限制。咱们再来说一下预分配内存。MYSQ呢,它的数据呢是存放在呃磁盘上,它的这个呃存储的效率呢,是因为磁盘呢,它的is呃就是比较差,它与内存相比,与CPU相相比呢,它差距是非常大的,所以呢,Myc呢会在内存中当中呢,把磁盘上的数据缓存起来,用户读数据的话,是在内存中去进行读取数据,所以呢,它的这个MYSQL的读。
04:09
它的效率是很高的,它是在内存中去读取呢。嗯,所以说就是如果你是一个MYSQL,安装MYSQL,那么你的主机,你的内存一定要跟你的业务量要有一个相对应的一个成正比的一个关系。好,那么接着往往后讲,像对于后面的,像我刚才讲的,嗯,缓冲池啊度B。嗯,八坡啊,这些我们会在后面的这些课程当中啊,会进行重点讲解,这也是我课程的主要内容。比如说预防内的内存有F应用FF一样FF缓存磁盘上的数据页。然后还有音色的办法。音算法呢,它主要是用于呃,提高写的这个效率,还有清理办法。
05:09
清理办法呢,主要是用于呃,用于提升这个DML语句的这个性能。海鲜double Du。两次。两次写的这个缓存。这两次写,两次写呢,是为了提高它的这个,嗯,写入的可靠性,这些呢都是呃预分配的内存。OK,讲完这个买自购实例构成呢,我们再来说一说这个买自多实例,多实例呢,大家可以把它理解为就是说我在一台主机上面,我安装了多个码字口。啊,这些买家口呢,它又互不冲突,可以独立的去运行。
06:04
这就是买SQL的多实力。据说在一台机器上面有多个实例构成。实力呢,又是由这些。进城。线程与分配的内部构成,这,这就是买斯克多时令。那么为什么要使用多时令呢?可以从几个以下几个方面去了解一下,因为现在,嗯,目前我们的主机啊。它的不论是CPU。还是内存还是is?我们单个业务库的话,嗯,基本上都是跑不满的,就是说它的资源会有剩余,我们就是为了充分利用他的资源,去在一台主机上面去跑多个业务库。这种情况这是一种,第二种呢,就是说在主层的结构中,从库比较清闲。
07:06
那么我们来画个图描述一下。这个呢,是五幺这台主机。电脑是五二的主题。那么我们一开始呢,会去安装。比如说他的。3306竞买SQ。我在。仓库上面。去安装一个。3307。3307这台主机,然后呢,它是。祝。Master。这是从。
08:02
这样去建立一个主从关系。如果我们是一主一从的高可用的这种架构呢?那么我们的读写都是。放到库上面。那么多人从苦呢,就什么都不做?如果我们没有去主库,没有宕机的话,那么仓库是一直都是清闲的。那我们怎么去重复的利用这个存库呢?那么我们就在存库上面去创建一个多实例。他是。3306。我们在这台进五幺台的机器上创建一个3307。买。Tan。就是猪。MC。
09:01
跟之前的区分开的,这个呢,就是从S1,那么库的话,我们也有。这个时候呢,我们就会在存库上面去做相应的就会有相应的这个读写操作,就会把存库给充分的利用起来。还有一种情况呢,就是呃,不同的业务库呢,它的高业务高峰呢,是高峰期是不同的。嗯,就是说我白天是有高峰期啊,另一个库呢,是晚上是有高峰期,这样的话他们可以错开,可以充分的去利用这台主机。就是说为什么生产当中要使用多势力呢?主要就是为了省钱,给老板省钱。好的。接下来呢,我们就来部署买自个都势力,呃,部署呢其实也比较简单,他们呢是共用系统部分。什么意思呢?就是说。
10:00
比如说我们在这台机器上面去演示。我们之前的系统呢,是是在这个user my。这是我们的系统部分,我们的系统部分呢,不需要做任何的变动,是共用的。我们只需要呢去。创建。只需要让不同的数据库之间呢,他们有不同的。Data DR有不同的server ID,有不同的port,有不同的日志文件,有不同的socket文件。那么就比较简单了。我们只需要创建一个区别于呃3306的一个数据库,就是数据目录,存放数据的目录。好的。我们在这边去进行创建。创建3307OK创建完成。接下来呢,我们来去创建这个配置文件。
11:00
也要跟之前的配置文件区分开来,这个呢是3307。好的。配置文件呢,一定要注意,我们的data drr已经改变了,是3307的,K文件呢,也是存合到3307,它的搜ID1定要与。嗯,同一台主机的4ID给它区分开来,我们第一个时机我们把它变成R,然后po也要区分开来,是3307,然后错误日志文件也是在3307这个目录下。而今这日志也是在3307目录下。然后。嗯,这个是慢日志,也是放在3307目录下好的,我把它给。放进去。保存退出。
12:02
然后呢,我们要更改这个用户和用户组,就是数据目录的用户和用户组。接下来呢,就进行初始化,初始化的时候呢,我们在指定配置文件的时候,一定不要错了,我们是现在是3307。然后这个data DLL是3307。跟你说实话。稍等一下。好的,初始初始化完成,接下来呢,就是启动MYS库,启动这个3307的这个门,通过MYSD。刚刚复制有的话,我们把它复制下来。
13:06
让它在后台启动。好的,启动成功,我们来查看一下。大家可以看到我们在这五幺这台主机上面呢,我们安装了两个MYSQL,他们端口是。一个是3306,一个是3307,这样的话我们都启动成功了。可以。这就是每次多实力的一个启动。也是通过买速递制定配置文件来进行去。把它复制过来。如何去关闭呢?通过买D去进行关闭。Mi对进行关闭。我们先来连接进取,连接3307 MY杠大S。
14:00
Data MySQL3307。买so变so。这样呢,我们就进入了,我们来查看一下它的这个serve ID。Select server,这个server ID VR,然后再来看一下它的这个端口。好的。这样的话我们多设一就安装完成了,把这两个命令粘贴过来。查看端口。这能是咋感觉?这个是查看。端口上面这个是查看SYD。好的,这样的话呢,我们就多视频就安装完成了。在安装部署多实例的时候呢,一定要注意,嗯,他们是共用系统部分。
15:03
系统部分有够用。他们实例之间不同的就是这个data DR serve ID data d,我们通过去创建一个新的目录。就可以让他们之间不同,然后serve ID port以及这些日志文件啊,我们通过在配置文件中去配置即可。还有一个就是注意的是DB b pro size,这个呢是缓冲池的大小。就是说我们这些多实例的这些总的内存大小要小于物理内存的80%。OK。嗯,以上呢,就是我们呃这一章节的主要内容。那么今天的课程呢,就先讲到这里,大家在课后呢,一定要去多多理解这些知识点,然后也要动手去,嗯,部署一下来。
16:05
好的。今天课程就先到这里吧,谢谢大家,拜拜。
我来说两句