00:00
My cat作为数据库中间键连接了两端,一端是咱们的账号应用程序,一端是咱们的数据库集群啊,这个是啊,它对应的数据出库中间建的一个角色啊,它的功能也非常强大,可以做什么呢?读写分离,也可以做数据分片,垂直拆分,分库,水平拆分分表啊这块是它的功能,还有啊,咱们的多数据源整合,可以把多个数据整合到一个整体啊,这就是买开的全诶它的强大功能,当然这块它除了它的功能强大之外,还有什么它的原理哎,也非常的简单,就两个字拦截,拦截你应用程序发过来的SQ进行相应的分析处理,然后呢,发给对应的数据库节点,然后这些数据库节点在什么呢?哎,把查询的结果反馈回来,我进行一个合并进行处理,进行一个排序,在什么呢?反馈给咱们的Java应用程序啊,这就是咱们买cat它的。
01:00
诶,功能和原理,当然这些还不够,为什么买菜D作为一个成熟的一个产品,他还要考虑一个事情,什么事情两个字,安全啊,这块呢,作为成熟产品必须要考虑的啊这块有同学说老师啊,都已经到数据库层了,还需要考虑这安全的事吗?需要安全两个字啊,这块在咱们,哎,作为什么呢?实际的软件开发放到什么生产环境下啊,放在公网环境下面,哎,咱们需要考虑啊,这块呢,考虑的多细都不为过啊这块呢,首先在咱们最开始的阶段,我可以放什么?起一个ningx啊,做一个反向代理,负载均衡,动静分离,相关的一些设置,也可以设置相应的安全防护机制,这是第一层,再往后还有很多层,比如到咱们应用层啊,我可以做什么呢?分布式架构啊,咱们可以通过主机设置防火墙,设置安全软件,这是又往后好几层,再往后啊,到数据库层面也需要。
02:00
做安全,包括咱们的数据库中间键,诶my cat安全两个字必须要什么保证啊,这块呢?哎,想要咱们的系统能稳定正常的运行,不受一些恶意攻击的一些影响,这些安全必须要做好,咱们看一下来看着怎么去做安全设置的,首先啊,咱们看一下它的安全设置,第一个可以设置权限啊,咱们可以通过user色标签进行权限的控制啊,比如说这块呢,它不可能做到,像什么呢?诶咱们的MYSQL里面用户可以设置的非常细,权限设置的非常细啊,这块呢,他做不到,但是粗力度的权限设置它还是可以做到的,怎么去做,哎,它可以做到什么呢?诶中间咱们逻辑数据库的,诶一个相应的读写控制怎么去实现,咱们看一下啊,我要修改的配置文件就是它server X ma啊可以说啊三个诶,咱们常要修改的配置文件里面serve.x ma咱们修改的最少。
03:00
安装买cat启动的时候咱们修改过它啊,改下用户名,然后呢,诶之后咱们做全局序列的时候修改过它,改过它什么默认选择的一个什么呢?诶咱们序列的方式啊,这块呢,之后好像没动过了啊,咱们安全主要是在咱们所有的XL这个配置文件里进行配置,咱们现行配置啊,咱们看一眼,首先啊,咱们之前配过的,哎,一个my cat这么一个用户,咱们做的是什么?是把原先的root用户改个名叫什么my cat啊设定它的密码,密码还是原先的123456,然后呢,诶咱们的什么stemmers这哎各位Che什么是不是逻辑库啊,诶加个S什么复数形式,你可以设置多个逻辑库啊,当然咱们不需要啊,咱们只需要来一个就成,就是test DB,好,那再往后咱们新增了一个user用户啊,这user用户它有什么特点,首先啊,这块呢,比咱们的maca多了一行。多了一行什么,诶name为什么呢?Read only,各位猜都能猜到这什么是不是只读啊啊是否开启只读后面如果是true,那就是什么呢?开启只读了,你只有读权限,没有写权限啊这就是啊咱们的re only只读那这块呢,各位,那我这块不配什么意思啊,My cat,咱们之前那个用户根本没有配read only默认什么,那这个read only就什么是不是false啊啊既能读又能写啊,这是它的一个特点,好,咱们看一下具体的字段啊这个name就是什么呢?哎,你连接咱们的什么中间键的逻辑,这个逻辑库用户的一个什么呢?用户名再往后,哎,咱们的password指定的什么,各位是不是就是你的密码对吧?用户名所对应的密码,哎,Pass DB啊咱们这块呢,哎,举这个例子啊,就是什么是咱们stems的什么呢?哎,配置项它的什么呢?哎,逻辑库的名称,再往后read是否只读啊,默认为。
04:59
Force啊,各位这块一定要清楚,好咱们动手去操作一下,就看一下什么呢?User这个用户,好,先打开配置文件,咱们再去看一眼,修改一下server,咱们可以看到我这块已经配置好了,User这个用户密码依然是user,然后呢,诶对应的逻辑库是咱们的test DB啊,这个read only是除它只有只读的权限,好,咱们把my cat提起来啊,依然选择什么呢?控制台启动。
05:27
好,启动起来可以看到成功了之后,咱们就可以去访问了,访问首先咱们依然用的什么呢?是不是MYSQ,哎,它对应的什么呢?哎相的命令对吧,跟咱们买SQ用同样的命令,杠U哪个用户啊,User啊,再来杠T啊,密码依然是user啊再来啊咱们的主机是谁?是不是192.168.140.128,依然是咱们本机啊,然后再往后杠大批什么端口号,端号多少。
06:04
有位同学这必须要记下来啊,逗号多少没错啊,8066啊,还是他咱们进去啊,我是不是进进进到咱们的这个买看数据库了,怎么确认各位是不是这有版本号啊,是不是咱们买cat的版本号,好了再往后啊,咱们再继续进行操作,我要什么?是不是切一下库啊啊use咱们使用谁test DB啊,咱们切到test DB啊切过去之后啊,咱们看一看,哎,我能不能看到所有的表啊,Table bos各位可以看到啊,咱们之前涉及的一些表全都有,那我现在做什么呢?各位咱们查询一下谁,哎,这个orders查询一下咱们的这个订单表,看能不能查到,各位能不能查到。是不是可以啊啊,咱们说了only只读它可以读,对吧?读数据没有任何问题,那下面咱们再操作一下,我做什么呢?往里面插入数据啊,写入数据insert into咱们哎这个orders订单表,然后呢,诶在后面什么呢?插入值对我后面这些字段能省略吗?
07:11
能省略吗?不能别忘了啊,咱们什么呢?哎,之前实现过什么呢?哎,数据库的一个,哎水平拆分分表操作,分表操作是不是必须得指定你对应的哎分表那个字段啊啊所以你隐色语句啊,切记要写全乎了,每个字段都得写,告诉他到底哪个字段是咱们custom ID,他要根据custom ID进行什么呢?哎分表操作的啊这个千万别忘了,好咱们把什么呢?隐似的语句插进去,咱们看看啊,能不能插入一条,哎这个ID等于七的这条数据咱们试一把失败了对吧,咱们可以看到诶错误原因什么user。Read你只能只读啊,这就是咱们设置的什么呢?哎,相应的权限各位可以看到,是不是已经生效了,它只能只读啊,啊,这就是啊,咱们通过什么呢?So xma就可以配置一下啊,它只能是只读的,那咱们再换,咱们换谁换咱们的买cat用户,咱们说了my cat用户是什么没有配,咱们再回来看一下啊,说根本没有配read only啊,我说没配它是什么,默认是false,怎么能证明我说的是正确的,还是那句话啊,咱们登上去试一试,对吧,这回换了,换用户,换咱们的my cat用户再去试一把。
08:35
咱们再开个窗口啊,这块呢,跟他相对比啊,咱们再开一个窗口,再去用买cat用户登上去看一眼,还是同样的操作,哎,切一下什么呢?哎,咱们的。数据库啊,咱们的test DB。然后呢,哎,同样咱们进行查询,查询谁依然是咱们的什么呢?OS查询这个订单数,呃订单表,看能不能查到相应的什么的信息,各位读没问题对吧?啊肯定可以读,那这块写能不能写啊,咱们还是插入同样的数据啊,还是哎这个四扣写全乎了,然后咱们插入ID为七的这行数据,再试一把,各位怎么样,OK,什么意思,成功了,那这就是啊,这个两个相对比,各位都放在这儿,一个是不是只能只读啊,一个是什么,是不是可以成功啊,咱们再验证一下,再去看一下数据,各位IDV7的数据是不是插进去了啊,这就是啊咱们所说的啊,我可以通过my cat,咱们serve X ma设置一下你什么呢?用户权限,我可以设置只读或者非只读啊读。
09:51
无和写可以通过配置这块进行配置,根据实际的情况分配给咱们前端连过来的什么呢?哎,这个相应的啊,这个对应的程序给他对应的什么呢?用户啊,不同用户他的读写情况不一样啊,我可以去设置一下用户的读和写,通过这块再次进行一个什么呢?安全的校验保证,哎不同的系统你拿到用户不一样,它有不同的一个限制,但只能是哎到这个数据库啊,这个访问这一层吗?哎,具体的什么呢?咱们对应的表操作,我能不能去设置下权限,哎,可以啊,咱们之后再说。
我来说两句