MyCat - 配置文件详解 - server.xml 之 user 配置详解 | 学习笔记

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 快速学习 MyCat - 配置文件详解 - server.xml 之 user 配置详解

开发者学堂课程【全面讲解开源数据库中间件MyCat使用及原理(一):MyCat - 配置文件详解 - server.xml 之 user 配置详解】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/755/detail/13252


MyCat - 配置文件详解 - server.xml 之 user 配置详解

内容介绍:

一、user 的相关配置

二、user 的相关配置的演示

 

一、user 的相关配置

user 的相关配置。User 标签它所配置的信息,就是 mycat 访问用户及密码的相关信息。user 到底可以配置哪些属性。

它可以通 property 来指定一些属性。

<user name="root" defaulaccount-"true">

Root 为访问的用户名,defaulaccount 指的是是否是默认的用户

<property name="password"> 123456</ property>

访问的密码

<property name="schemas ">ITCAST</property>

能够访问的逻辑库是哪个,ITCAST 必须提前定义出来

<property name="readon1y">true</property>

readon1y 是否只读,ture 代表只读,不能写

<property name="benchmark">1000</property>

benchmark 指的是前段连接到 mycat 的连接数是多少,1000 代表只能有 1000个,0 代表不限制

<property name="usingDecrypt ">0</property>

密码是否进行加密操作

<!--表级DML权限设置-->

<!--

<privileges check="false">

权限的控制,check 代表是否检查权限,如果为 false 代表不检查权限,如果想要检查权限,则将 false 改为 ture。

<schema name="TESTDB" dm1="0110" >

每一个 schema 逻辑库权限是如何控制的,

<table name="tb01" dm1="0000"></tab1e>

细化到每一张表权限是如何控制的,也就是说 root 123456 这个用户,用这个密码登录上来以后,他可以访问逻辑库,逻辑库当的中各个表权限是在这里进行控制。

<table name="tb02" dm1="1111"></table>

Dml 代表的是权限信息,分别是 IUSD (增,改,查,删)四个权限,0000 代表这张表没有权限操作,如果为 1111 增,改,查,删四个权限都有,如果在逻辑库中配置了权限,逻辑表中也有权限,以表中的权限为首要。如果表没有进行配置,那么以逻辑库的权限为首要。

</schema>

</privileges>

-->

</user>

User 标签主要用于定义登录 mycat 的用户和权限:

1). <user name="root" defaultAccount="true"> : name 属性用于声明用户名;

2). <property name="password*>123456</property> :指定该用户名访问MyCat 的密码;

3). <property name=" schemas">ITCAST</property> :能够访问的逻辑库,多个的话,使用"," 分割

4). <property name="readOnly">true</property> :是否只读

5). <propety name="benchmark">11111</property> :指定前端的整体连接数量,0 或不设置表示不限制,

6). <propety name="usingDecrypt">0</property> :是否对密码加密默认 0否,1 是

7). <privileges check="false">

A.对用户的 schema 及下级的 table 进行精细化的 DML 权限控制;

B. privileges 节点中的 check 属性是用于标识是否开启 DML 权限检查,默认 false 标识不检查,当然 privileges 节点不配置,等同 check=false, 由于Mycat 一个用户的 schemas 属性可配置多个 schema , 所以 privileges 的下级节点 schema 节点同样可配置多个,对多库多表进行细粒度的DML权限控制;

c.权限修饰符四位数字(0000 - 1111) , 对应的操作是项 IUSD (增,改,查,删)。同时配置了库跟表的权限,就近原则。以表权限为准。

 

二、user 的相关配置的演示

<user name="root" defaultAccount=" true ">

<property name="password">123456</property>

<property name=" schemas"> ITCAST</property>

<property name=" readonly">true</property>

<property name= "benchmark"> 1000</property>

<property name="usingDecrypt">0</property>

1.只读权限的使用

打开 sever.xml,Root 用户以 123456 登录上来以后,能够访问 itcast 数据库,对于逻辑库的权限是只读的,没有对密码进行加密操作。配置好了以后重启 mycat,重新连接 mycat,使用 itcast,查看 test 表中的数据

image.png

根据 ID 也是可以查询出来的

image.png

这个时候 root 用户,不能够进行插入操作,原因是设置的用户只读,如果更改为<property name=" readonly">false</property>,重新启动 mycat,重新连接,use ITCAST 使用数据库,这时候就可以使用插入命令了。

image.png

2.usingDecrypt 的使用

usingDecrypt 指的是密码是否加密,0 为不加密,意味着 server.xml 中配置的是明文的密码,如果更改为 1,<property name = "us ingDecrypt">1 </property>这时候代表密码加密,如果直接重启,这时候 123456 不能直接登录上来,代码如下:

[ root@localhost mycat]# mysql -h 192.168.192.157 -P 8066 -u root -p

Enter password:

ERROR 2003 (HY000) : Can't connect to MySQL server on ' 192.168.192.157 (111 )

1 代表密码加密,这时候配置的密码是密文,密文要借助于 mycat 中的 jar 包当中提供的工具来生成。指令为 Java -cp Mycat -server-1.6.7.3-release. jar io. mycat .util. DecryptUtil 0:root: 123456。在 mycat 里面切换至 lib 目录下,lib 目录下有一个名为 Mycat-server-1.6.7.3-release.jar 的 jar 包,0:root: 123456 中 root 指的是用户名,123456 为明文的密码信息,执行 Java -cp Mycat -server-1.6.7.3-release. jar io. mycat .util. DecryptUtil 0:root: 123456命令,输入结果如下

image.png

0 代表 mycat 用户登录密码加密,加密出来的样子就是 GO0bnFVWrAuFgr 1 JMuMZkv fDNyTpo iGU7n/ Wlsa151ci rHQNANVk3NzE3FE rx8v6pAc00ctX3xFecmSr+976QA==

在配置文件当中不能够再去配置明文了,配置的应该是密文。

3.关于 DML 权限的相关内容

privileges 指的是 DML 的权限设置,可以针对某一个逻辑库当中的某一张表来进行权限设置,比如,可以针对 ITCAST 中的一张名为“TB_TEST”来设置权限来设置为 1110 权限,是否检查权限设置为“true”。

<privileges check=" true">

<schema name=" ITCAST" dim1="1111" >

<table name="TB TEST" dml="1110"></table>

</ schema>

</privileges>

</user>

来验证一下以上内容,重启连接 mycat,切换数据库,输入 select* from TB_TEST,insert into TB_TEST (id, title) values (6, ' goods6 ')

image.png

更新已经成功,最后的操作为 delete,输入 delete from TB_TEST where id=6; 输出了 The statement DML privilege check is not passed,reject for user 'root'指的是 DML 的校验没有通过,因为 root 用户没有权限做删除操作。因为之前对表设置的是 dml=“1110”,具有插入修改查询权限,没有删除权限,对于数据库有删除权限,但根据就近原则,是以表的权限为准。

以上为关于 user 标签中的属性配置,User 当中的属性配置主要包括,什么样的用户他的访问密码是什么样的,它具有什么样的权限信息。

相关文章
|
2月前
|
XML Java 数据格式
Spring从入门到入土(xml配置文件的基础使用方式)
本文详细介绍了Spring框架中XML配置文件的使用方法,包括读取配置文件、创建带参数的构造对象、使用工厂方法和静态方法创建对象、对象生命周期管理以及单例和多例模式的测试。
119 7
Spring从入门到入土(xml配置文件的基础使用方式)
|
3月前
|
XML Java 数据格式
Spring IOC—基于XML配置Bean的更多内容和细节(通俗易懂)
Spring 第二节内容补充 关于Bean配置的更多内容和细节 万字详解!
244 18
Spring IOC—基于XML配置Bean的更多内容和细节(通俗易懂)
|
3月前
|
XML Java 应用服务中间件
springMVC01,springMVC的执行流程【第一个springMVC例子(XML配置版本):HelloWorld】
通过一个HelloWorld实例,介绍了SpringMVC的基本概念、执行流程,并详细讲解了如何创建和配置第一个SpringMVC项目(基于XML)。
springMVC01,springMVC的执行流程【第一个springMVC例子(XML配置版本):HelloWorld】
|
2月前
|
XML Java 应用服务中间件
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
这篇文章是关于Apache Tomcat服务器的目录结构、配置文件(特别是server.xml)的详细介绍和学习指南。
88 0
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
|
2月前
|
XML 分布式计算 资源调度
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
175 5
|
2月前
|
XML 资源调度 网络协议
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
134 4
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
85 4
|
2月前
|
XML Java 数据格式
手动开发-简单的Spring基于XML配置的程序--源码解析
手动开发-简单的Spring基于XML配置的程序--源码解析
86 0
|
2月前
|
XML 存储 JSON
framework 的配置文件在.netcore里面不能用怎么处理?在.netcore中创建.xml配置文件
framework 的配置文件在.netcore里面不能用怎么处理?在.netcore中创建.xml配置文件
34 0
|
2月前
|
安全 内存技术
【文件上传-配置文件】crossdomain.xml跨域策略配置文件上传
【文件上传-配置文件】crossdomain.xml跨域策略配置文件上传