00:00
接下来呢,我们来基于MY创建一个主从同步的集群,那因为是使用docker创建,所以呢我们主从服务器的IP是一致的,端口号是不一致的,那刚才我的Linux服务器的IP地址呢,是幺九二幺六八一百点二零幺,所以呢,我们的。主从服务器集群当中的每一台服务器,它的IP地址都是幺九二幺六八一百点二零幺,而这若干台服务器的端口号呢,分别是3306 3307和3308,那么这个里面大家其实也能看出来哈,一共有三台服务器,那第一台服务器呢,是主机,后两台服务器呢是从机,因为是基于docker创建的,所以呢。我们给它们分别起一个容器的名字,那么主机的容器名字呢,叫艾特硅谷my master,从机的容器名字呢,叫艾特硅谷my circle slave1和艾硅谷my circle slave2,好,那接下来呢,需要大家注意的就是,当我们在。
01:09
真正的去创建并启动服务器之前,大家一定要先确保你的防火墙是关闭的,并且还要确保一件事情,就是在你的刀cker服务启动之前,防火墙已经关闭掉了,所以呢,我们关闭防火墙呢,一定要先关闭刀cker,然后呢再关闭防火墙,最后呢再启动docker,现在呢,我的防火墙呢,其实是已经是关闭状态了啊,那所以我就不用去执行这几个命令了,那如果你的防火墙没有关闭的话,那么大家先要按照这个顺序呢,把这个命令执行一下,否则的话,一会儿我们安装完买soq的服务之后呢,你是没有办法进行远程连接的啊,那么有些同学说我不管防火墙,我单独的开放这几个端口可不可以也可以,如果你单独的开放这几个端口的话呢,一定要记住在开放完端口之后再启动我们的docker服务啊,这样才可以。当然还。
02:10
是建议大家直接把防火墙关掉吧,因为后面我们除了33060708之外呢,还要用到好多其他的端口啊,那这是需要大家注意的地方。接下来呢,我们来准备我们的主服器。准备主服器的话呢,我们是基于这个docker run的一个命令,这个docker run命令呢,是基于MY8的0.29这个镜像呢来启动一个容器,杠D呢是进行一个守护式进程的启动,然后杠P呢是做端口的映射,这个是MY色QL容器中的端口号,这个呢是映射到宿主机当中的端口号,也就是说3306本来是容器中的端口号,我们呢没有办法通过201来直接访问3306,所以呢,你应该把这个3306呢映射到201这台服务器上,这样的话呢,从其他的服务我们就可以访问到201这台服务器内部的容器当中的买口了,那这样的话呢,我们就需要把容器当中的端口号映射到201这台服务器的对外的端口号上,那这个是我们映射出来端口号,当然这个端口号你不一定非要映射成3306,如果你201服务器上已经有其他的一些。
03:25
些服务把3306占用了,那么这个端口号呢,你是可以写其他的端口的啊好,那这块呢,是我们做了一个数据目录的映射,这里面有两个目录,第一个目录呢,是配置文件目录的映射,第二个目录呢,是MYSQL数据的目录的一个映射啊那因为呢,我们需要在后面安装的过程当中去修改,我们买SQ的配文件,而买SQL的配置文件呢,它是在容器内部的,那么我们在容器内部去修改配置文件呢,多多少少有一些不方便,所以呢,为了方便起见,我们把容器内部的这样的一个配置文件的目录呢,映射到我们的宿主机上,这样呢,在我们的宿主机上就可以直接找到买搜狗的配置文件了,可以直接对它进行配置。
04:10
然后呢,这个是我们买SQL内部的一个容器内部的一个数据目录,那一般情况下我们基于容器来创建服务的时候呢,像一些重要数据,我们呢,会把它映射到宿主机上,这样的话,一旦容器发生任何问题,没有办法启动,那么我们呢,可以通过宿主机上的这个目录呢,去找到我们的重要数据,否则的话,容器一旦出现问题,没有办法启动,那你存在容器当中的数据呢,也就丢掉了啊,所以一般情况下,像这种重要的数据呀,配置文件呀,我们都会把它映射到宿主机上啊,所以这是宿主机的目录,然后接下来呢,我们为我们的MYSQL服务的root用户呢,设置一个默认的密码,就是123456。再接下来呢,我们给我们当前启动的第一个容器呢,另一个名字就叫艾特硅谷my master,那这个呢,就是我们的主机啊,MYL主机的容器,然后呢,这个就是我们MYQL容器,它所基的具体的镜像的名字以及镜像的版本,好,那接下来呢,我们把这个命令呢。
05:19
粘贴在我们的。Linux的命令行当中没撤。那因为我是第一次在我的ER服务当中,当前的这个8.02。当前的这个doer环境当中,并没有买8.0.29的ER哈,就说找不着这个ER像,然后呢,他就会从镜像服务器当中呢,去下载这个镜像,好,现在呢,它是下载镜像的过程。当然了,如果我们启动第二个。买Q容器的话呢,它就不会有这个下载的过程了。
06:04
好,我们的镜像呢已经下载成功,并且呢,我们的docker容器呢也已经启动起来了,那么如何检查我们的一个执行的结果呢?我们先通过docker images查看一下,刚才我们买circle8.0.29的镜像呢已经下载下来了,然后接下来呢,我们再通过刀坑。我们把这个窗口放大一点啊。通过这个刀可以看到呢,我们基于8.0.29。然后呢,端口映射是3306的。然后呢,名字叫做硅谷my master这样的一个容器呢,已经启动成功了,那么大家一定要注意,这个必须是up的状态才说明呢,Do容器是启动成功的,如果不是up状态的话,十有八九是你的端口号被占用了。
07:08
或者是你的防火墙是在docker服务启动之后才关闭的啊,也就是前面我强调的这个内容,那一般情况下,如果没有上面两个问题的话呢,正常情况下我们的MYSQL容器呢,就会成功的启动。那么当我们的MYSQL容器成功启动了之后呢,现在其实呢,我们就可以通过远程连接或者是本地连接的方式去用一个买SQ的客户端来连接这个docker容器了,但是呢,在连接这个docker容器之前,我们先来对我们的服务做一个配置。我们在我们的宿主机上去创建这样的一个文件,因为刚才我们提到了我们已经将容器当中的买的配置文件的目录映射到了我们的宿主机当中,所以呢,我们现在就在宿主机当中的这个。
08:08
配置文件映射目录中创建一个叫做点CFMY配置文件,然后呢在这个里面配置下面的选项。下面这个选项呢,有两个我们都要配置在买circleq d的这个节点下,第一个呢叫做server ID,它呢是我们服务器唯一的ID,因为我们要搭建一组二重的配置,那么这三台服务器的serve ID呢,不能一样,必须是每一个服务器都有一个唯一的ID,当然了,如果serve ID我们不配置的话,默认值它实际上就是一,所以这个对于主机来说,如果我们的serve ID就想定义为一的话,你也可以不配,但是建议大家还是。好,然后第二个呢,就是设置日志的格式,那这个日志格式呢,它有三个啊,一个呢叫一个呢叫statement,还有一个值呢,叫做mixed,那这值是什么意思呢?一会儿我们再来解释,总之呢,大家先暂时把它配成statement,它的默认值呢,食肉好,这个呢是我们在我们的主机的买circle的配置文件当中需要配置的内容,那接下来呢,我们把卖点新F这个配置文件呢给它创建一下。
09:29
还是来到刚才我们的命令行窗口,直接在宿主机当中去。执行VM这个命令回车,然后呢,我们用啊进入到。我们的配置文件的一个编辑模式,然后呢,我们把这个给它粘贴进去,就粘贴这两个就可以了,后面还有一些配置,一会我会给大家去具体的解释一下,到目前为止呢,我们只配这两个选项。好把它粘到这个位置。
10:01
然后呢,我们ESC退出编辑状态,冒号WQ回车。把刚才的配置文件呢进行一个保存。那保存完这个配置文件之后呢,我们需要重新启动my circlel容器,那么重新启动my circleql容器的命令呢,是docker restart,那这个呢,就是刚才我们主服务器的一个容器的名字叫艾特硅谷my master,所以我们直接把这个过来或者是敲一下也可以哈,Dark瑞。那么我们这边叫at硅谷,那实际上你直接按tap键,它就可以自动完成,然后呢,我们回车。好。重启完成之后呢,大家要看一看我们的刀容器的状态。看看它是不是重启成功了,那这个如果是APP的话,就重启成功了,如果没有重启成功的话,你在刚才重启的时候,它就会报错了。
11:08
啊,那有可能呢,就是你这配置文件里面可能哪个地方没配对啊好。现在呢,我们的主服器呢,相关的配置呢,已经完成了,然后接下来呢,我们来进入到这个容器当中看一看呢,能不能连上,如果能连上了的话,就证明呢,我们这服务器呢,才是真正的启动成功,那么这个里面呢,我们用这个命令叫docker ex e-I,然后at硅谷my master用一个交互式命令的方式呢,进入到我们的at硅谷my master这个容器当中,也就是说。启动完容后呢,我们要进入到行命,那么这个CU可参数,如果不写这一,那么我们进入命令办输入是显示的啊,那如果我们需要在命令行当中输入或者是显示中文,那你就需要去写这样的一个配置,否则的话,一会遇到中文的话,它会乱码啊,那所以我们先把这命令敲一下啊,进入到容器当中的。
12:25
命令行。CTRL加L可以一下屏。然后呢,粘贴对车好,那么你会发现呢,这个地方叫BA啊,然后杠4.4井,这个实际上就是我们的容器的内部了,它已经不是宿主机了,如果是这个的话,它是我们的宿主机的命令,那如果是这个的话,它就是我们的容器的命令。在容器当中呢,我们可以直接连接my circle,用my circle-u root-P就可以了,对撤,那么它的默认密码呢,刚才我们设置了是123456回撤,好这样的话呢,我们就连接到了我们的主服务器上。
13:17
接下来呢,我们可以找一个客户端的工具啊,来连一下试试,我们用这个搜Q点文件新链接,然后这边点新建名称呢,我就写master。3306,然后点确定,那这面呢,我的IP地址呢是幺九二点幺六八点一百点二零幺。那用户名呢是root,密码是123456,然后端口呢是3306,我们先来做一个测试连接,那么如果你的circle或者是NAV啊都行,呃,在连接的过程当中呢,出现了这个问题的话,说明什么呢?说明我们的circle或者是的版本呢,这个客户端的版本稍微有点低,那么买八零呢,它使用的。
14:09
密码的这个安全策略的校验方式呢,和我们就有的买Q5.7的密码的,呃,这个校验方式是不一样的。我们的码验l passl点的密码的校验方式呢,是catch a two,然后password,所以呢,他们两个不一致的情况下呢,就导致我们这个客户端呢,没有办法连接服务器,那么如果你是一个比较新的SQ或者是其他的买SQL客户端的工具的话呢,你就不会出现这个问题,你就直接连就好了,但是在这个里面还是建议大家呢。去做一个修改为呢,因为未来我们的它实际上默认情况下呢。用的也不是这种密码的一个校验方式,因为后面我们还是要通过阿帕奇特fair gd bc啊来连接我们的远程的,呃,服务器上的买Q的对不对,所以呢,我们要让阿帕奇的fair呢也能够连接上,要让我们的所有的买的客户端,无论是新版本还是旧版本都能连接上,那么建议大家呢,去修改一下服务器端默认的校验密码的一个。
15:26
式我。Password。好执行完之后呢,这边我们再来点击测试连接好,那这个时候呢,就链接上了,那我们点击链接。那通过这种方式呢,我们可以在我们的本地计算机上远程的去连接远程的Linux服务器上的docker容器当中的MY服务器,那这个呢,是我们的的主服器。
16:09
好,那这个过程呢,是我们搭建并启动主服器的一个过程,但是呢,我们并没有去完成主服器的所有的啊需要设置的一个工作,所以下节课呢,我们会接着针对主服务器的一些关键性的配置呢进行讲解。
我来说两句