–>
user标签主要用于定义登录MyCat的用户和权限 :
<user name="root" defaultAccount="true">
: name 属性用于声明用户名 ;<property name="password">123456</property>
: 指定该用户名访问MyCat的密码;<property name="schemas">ITCAST</property>
: 能够访问的逻辑库, 多个的话, 使用 “,” 分割<property name="readOnly">true</property>
: 是否只读<property name="benchmark">11111</property>
: 指定前端的整体连接数量 , 0或不设置表示不限制<property name="usingDecrypt">0</property>
: 是否对密码加密默认 0 否 , 1是
java -cp Mycat-server-1.6.7.3-release.jar io.mycat.util.DecryptUtil 0:root:123456
<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
( 增,改,查,删 )。同时配置了库跟表的权限,就近原则。以表权限为准。
三、firewall 标签
firewall标签 用来定义防火墙;firewall
下 whitehost标签 用来定义 IP白名单 ,blacklist
用来定义 SQL黑名单。
黑名单拦截明细配置:
配置项 | 缺省值 | 描述 |
---|---|---|
selelctAllow | true | 是否允许执行 SELECT 语句 |
selectAllColumnAllow | true | 是否允许执行 SELECT * FROM T 这样的语句。如果设置为 false ,不允许执行 select * fromt ,但可以 select * from (select id, name from t) a 。这个选项是防御程序通过调用 select * 获得数据表的结构信息。 |
selectIntoAllow | true | SELECT 查询中是否允许 INTO 字句 |
deleteAllow | true | 是否允许执行 DELETE 语句 |
updateAllow | <