发布时间:2024-02-11 16:30
Table of Contents
1.Mycat 安全设置
1.1 权限配置
user 标签权限控制
privileges 标签权限控制
1.2 SQL 拦截
白名单
黑名单
2.Mycat 监控工具
2.1 Mycat-web 简介
2.2 Mycat-web 配置使用
ZooKeeper 安装
Mycat-web 安装
Mycat-web 配置
2.3 Mycat 性能监控指标
写权限控制。是通过 server.xml 的 user 标签进行配置。
#server.xml配置文件user部分
123456
TESTDB
user
TESTDB
true
在 user 标签下的 privileges 标签可以对逻辑库(schema)、表(table)进行精细化的 DML 权限控
制。
privileges 标签下的 check 属性,如为 true 开启权限检查,为 false 不开启,默认为 false。
由于 Mycat 一个用户的 schemas 属性可配置多个逻辑库(schema) ,所以 privileges 的下级
节点 schema 节点同样可配置多个,对多库多表进行细粒度的 DML 权限控制。
#server.xml配置文件privileges部分
#配置orders表没有增删改查权限
123456
TESTDB
#设置白名单
#server.xml配置文件firewall标签
#配置只有192.168.71.128主机可以通过mycat用户访问,user这个用户访问不了
可以通过设置黑名单,实现 Mycat 对具体 SQL 操作的拦截,如增删改查等操作的拦截。
#设置黑名单
#server.xml配置文件firewall标签
#配置禁止mycat用户进行删除操作
false
黑名单拦截明细配置
配置项 缺省值 描述
selelctAllow true 是否允许执行 SELECT 语句
selectAllColumnAllow true 是否允许执行 SELECT * FROM T 这样的语句。如果设置为 false,不允许
执行 select * from t,但 select * from (select id, name from t) a。这个选项是防御程序通过调用 select *获得数据
表的结构信息。
selectIntoAllow true SELECT 查询中是否允许 INTO 字句
deleteAllow true 是否允许执行 DELETE 语句
updateAllow true 是否允许执行 UPDATE 语句
insertAllow true 是否允许执行 INSERT 语句
replaceAllow true 是否允许执行 REPLACE 语句
mergeAllow true 是否允许执行 MERGE 语句,这个只在 Oracle 中有用
callAllow true 是否允许通过 jdbc 的 call 语法调用存储过程
setAllow true 是否允许使用 SET 语法
truncateAllow true truncate 语句是危险,缺省打开,若需要自行关闭
createTableAllow true 是否允许创建表
alterTableAllow true 是否允许执行 Alter Table 语句
dropTableAllow true 是否允许修改表
commentAllow false 是否允许语句中存在注释,Oracle 的用户不用担心,Wall 能够识别 hints
和注释的区别
noneBaseStatementAllow false 是否允许非以上基本语句的其他语句,缺省关闭,通过这个选项
就能够屏蔽 DDL。
multiStatementAllow false 是否允许一次执行多条语句,缺省关闭
useAllow true 是否允许执行 mysql 的 use 语句,缺省打开
describeAllow true 是否允许执行 mysql 的 describe 语句,缺省打开
showAllow true 是否允许执行 mysql 的 show 语句,缺省打开
commitAllow true 是否允许执行 commit 操作
rollbackAllow true 是否允许执行 roll back 操作
如果把 selectIntoAllow、deleteAllow、updateAllow、insertAllow、mergeAllow 都设置为 false,这就是一
个只读数据源了。
./zkServer.sh start
#1 先在注册中心配置ZooKeeper地址,配置后刷新页面,可见