00:00
我们这堂课呢,就是来说一下MYSQL8.0这个主复制是那个如何实现高可用VIP。啊,这个脚本呢,是我2019年那时那个时候去写的,用PP写的。那么采用的是那种VIP的模式。我们来先来看一眼那个官方的解决方案是什么样子的。那这个呢,就是官方MYSQL的啊,它需要通过一个中间件叫MySQL router啊,我们来看这个这个这个架构图。你看客户端的连接这MySQL router相当于它来做那个判断。那么呢,如果哪台切换它去自动去识别,那么我们发现这个方案吧,你需要就是运维起来有些复杂,那你需要先安装这个东西my routeor,然后呢,可能还需要调用这个my shell去完成这个总共的一个印诺DB集群,他们叫呃MY叫印诺DB集群,其实就是组布制啊,整套整个一个组这个套件的名字,那么我之前2019年的时候觉得这个很复杂,所以说我。
01:07
我就自己研发了一套,用这个基于这个VIP,嗯,仿照这个m ha mha这个切换思路去写的一个。一个切换啊,那这里呢,我是把我这个这个代码都放在这个,我那github上了啊,就叫这个地址,到时候大家可以下载来去改改。啊去调整一下,那么这里呢,我简单来说一下它那个规则啊,我这里啊,就先设一下这个权重。权重100的,那那是优先级,优先级是最高的啊,如果是呃,默认默认是50%,那么它这个secondary是不进行切换的,不技能切换的,然后呢,第二个呢,就是说切换的时候呢,它会先需要我这个脚本会自动会触发一下这个设置这个。
02:01
这个所复制的一致性,这个值为这个。啊,到时候具体呢,我们来,嗯,我再单开一堂课来介绍一下这个参数的意义是什么意思,那我们先记住啊,我这脚本是先设置为这个,那意思为就是主挂了以后啊,那备库需要把事物全部执行完了,它提供客户端读写操作呢,啊这个你注意一些,然后第三个呢,就是你需要设置一个限流,那防止呢。嗯,那可可能会引起一些不必要的麻烦,生产事故什么的,一般这个都是生产会给它关了,那这里呢。我们来先演示一下啊,首先你需要环境准备啊,先执行这个,那如果你要是CS6呢,你就你就写买circle啊PP杠买circle,如果是七呢,你就写后面加一个ND。就这么个意思,八也是啊,我们先来先把这环境先配一下我这台机制度深度S8啊。
03:04
啊,我们就先把这呢,就加一个ND就行了,然后就一装。哎呀,这个就先我们把基础环境先给配好了,然后继续往下看啊。因为我这里呢。嗯,是通过这个,你需要手工先配一下这个SSH互信啊,就是公司要认证,那么这里呢,我是写另外一个脚本,是用这个,你可以去批量的做这个公司要认证啊,你可以把这个先下载下来,我可以这里演示一下怎么用啊。啊,这个是我已经下载下来了,就用我写的那个脚本,那我这里呢,先看一眼,首先呢,你需要改这个test后这个文件。那你就把我这三台机器啊,这三台机器的IP你给填进去,这三台机器是主复制啊,我们先来进去先看一眼。
04:12
啊,这三台机器是组部制,你看这个主机主机名1234组X123,那么我。啊,就这个3123啊,这是我当前机器的IP。七对吧,然后呢,这里呢,你就把你这个给加进去,那端口号呢,就是默认的SH是22。就是这个啊这个哎,你把这个往里加进去,这第一步就做完了,然后呢,第二步呢,你就把改一下这个。就这这个BA,就这个share脚本,这很很简单,那你首先你先进入这个CD这个目录啊,我当前的目录是root下的,Soft目录下的。我们来看一下啊,你就把这个目录往里一填就行,一填就行了。
05:03
啊,就把这天,然后剩下的你都不用改,呃,上面你需要改一下这个这个用户名密码啊,就是入的账号,这个是SSH这个密码,我这是123456。啊,这一步你就做完了,然后第三步呢,我们先生成本地的公司要认证,其实跟那个maha差不多。啊,你先申呃申请呃先生成啊,先直接给覆盖。啊,然后呢,我们先测试一下。你看现在我这儿时间不通是吧,这都认证不了,然后你就执行执行我这个脚本就行了,就不碍事,你回车就行了。啊,这里呢,就自动的就给你把那公司要认证给打通了,就免密的打通了,那我们来测试一下啊。哎,你看这不就好了吗?七也好了,你看七二也能登,七三也能登,哎,行,其实这步我们就完成了。
06:04
这步操作我们就完成了。就是这个开通这个,然后呢,你这里呢,需要手工添加这个VIP地址,因为这个之前我。你这一块我没有写到脚本里头,嗯,当时还呃用PB还没有实现,所以这里你需要手工去填一下,那这这具体呢,我们先来到这个脚本先看一眼。那这就是N。M。啊,这是啊,你这是只需要把这个设置为755这个权限就行了,我们先来执行一下,先看一眼这效果。啊,目前就是这样的,然后你可以先前台运行。啊,这里呢,先修改一下它这个配置文件。这里呢,有些输入主库啊啊,就是那个pre,这个是7.1,新的呢,就是备选切换的,那主库呢,就是71.12啊,你把这俩IP写进去,这个就是买CQ用户名啊密码这你给那管理员就O这个权限就行了,这个我两个端口号都是3306。
07:11
啊,就是买三买的钢管号33006。啊,你就把这个3306完了,一加进去就行了。啊,这个啊,把这个3306啊一加进去就行了。啊这块,然后这是呃,SSH这个端口号啊,22这个是VIP地址。嗯,你自己填一个你自己的VIP地址,这个第三个是网卡的名字,网卡的名字就是你用I看一下你这个,我这个叫这个啊,你把这里填进去,然后这个呢,就是相当于对应的这个主机名和IP地址,那这个基本上就跟你这个是一样的,跟M跟MTR这个是一样的啊,你把这个往里一填。
08:02
啊就可以了,这个这个我们配置文件就配好了啊,就是这个,然后呢,你只需要先前台先测试一下,就直接直接执行就行了。那首先他先需要P,我这个先P啊P5次。然后这里呢,它因为它我这里并没有生成这个7.12这个T一点二百这个VIP,所以说这个是退出主程序,这里需要你自己手工的去添加一下。那么我现在这台机器啊。啊,这台机是是主库吗,你看。三七这个是当前的主库,那么我们就在这台机器上去添加VIP地址。那么命令呢,就是这个id.ad。我查一下吧。啊,你这儿需要改一下。
09:00
这个IP就是七一点二百。网卡的名字叫。RNS3份。啊,我们先添加这步先手工执行啊,这里已经生成了T一点二百了,那我们这个这个VIP,呃,手工添加完了,然后我们先去检测一下。那这里呢,你看我给你检测到了这个当前的啊,主机名是这个啊,角色是pre是主库,主库的IP是7.1啊,目前这现在是正常的这个环境啊,你这个是前台运行的啊,然后同时呢,你看这个文件会多生成一个这个文件,这个是写到这个配置文件里,我写到一个文件里了,把那个信息。啊,都在这儿呢啊。注意一下这个文件,那现在我们就开启守护进程,那么我们再继续执行这个,那后台运行你就直接直接复制就完事。
10:11
啊,这样一回车,这样他就跑入到那个后台的那个守护进程里了,我们可以看通过这个来看一下啊。这个现在守护进程啊,已经跑到后台了,同时呢,你就这会生成一个PID啊,这个这1PID。啊,4624,你看4624对吧,这回生成PIPID,然后这里这个我们就看这个啊。这是写到这个后台的一个文件里头,你就看这个文件就行了,哎呀,这你看这你看这不停的会变吧。啊,然后呢,现在我们就开始模拟一下这个切换啊。那我这台机器现在VIP没有啊。啊,我先把它删了吧,怎么这会有一个。
11:00
啊,先把这删了吧,这这估计我之前之前添加的先给他删了。D220。啊,没了是吧,没了,那我们现在就来切一下。先看一眼状态。啊,那现在是七啊,我现在给他关机啊。走。那这里呢,我们来看这个log,就看这个信息。啊,现在你看已经切换成功了啊,你看这台机已经挂了,我们来看一眼啊。
12:05
这个VIP呢,就自动的就生成了。你看七一点二百,这你看这之前没有是吧。之前没有是吧。啊,现在生成一个七一点二百,就现在我们这个MGR已经切完了。就是通过这个VIP的形式。粘一下。你看这不现在已经都贴完了吗。把再把它起来。
13:05
啊,我这个切换切换成功以后呢,这后来守护进程会自动的就会停,就会关闭,跟那个Mac是一样的,你看这个守护进那个这个已经没有了,到时候你把这个文件你就自己给删了就行了,因为这个文件这个进程已经不存在,你把这文件给删了就行了,这就是我之前2019年写了一个很简单的一个。一个通过VIP机制实现的这个。啊MGRR组副式,就是你可以避免了一些嗯,额外的一些维护中间到,呃,维护一套中间件,My sol rootr的一个成本,运维成成本。然后呢,具体就在这个地址,然后嗯,其实挺简单的,然后大家就可以来测试一下,嗯,那今天我们这堂课就演示到这儿了。
我来说两句