mycat的安全管理和监控工具
1. mycat的安全管理
1.1 权限配置
- user标签权限控制
目前mycat对于中间件的连接控制并没有做太复杂的控制,目前只做了中间件逻辑库级别的读写控制权限,可以通过user标签进行配置。
标签说明:
标签属性 | 说明 |
---|---|
name | 应用链接中间件逻辑库的用户名 |
password | 该用户对应的密码 |
schemas | 应用当前连接的逻辑库中所对应的逻辑表,schemas中可以配置一个或者多个 |
readonly | 应用连接中间件逻辑库所具有的权限。true为只读,false为读写都有,默认是false |
添加配置:
<user name="root" defaultAccount="true">
<property name="password">123456</property>
<property name="schemas">TESTDB</property>
</user>
<user name="mycat">
<property name="password">mycat</property>
<property name="schemas">TESTDB</property>
<property name="readOnly">true</property>
</user>
尝试通过不同的用户名称进行登录,会发现root用户具有所有的权限,但是mycat用户只是具备了查询的权限,无法完成更新和插入的操作。
- privileges标签权限控制
在user标签下的privileges标签可以对逻辑库,表进行更加细致的DML权限控制。
privileges标签下的check属性,如果值为true则表示开启权限检查,false则表示不开启权限检查
由于mycat一个用户的schemas属性可以配置多个逻辑库,所以privileges的下级节点schema节点同样可配置多个,对多库多表进行细粒度的DML权限控制
配置权限:
DML权限 | 增加 | 更新 | 查询 | 删除 |
---|---|---|---|---|
0001 | 禁止 | 禁止 | 禁止 | 允许 |
0010 | 禁止 | 禁止 | 允许 | 禁止 |
0100 | 禁止 | 允许 | 禁止 | 禁止 |
1000 | 允许 | 禁止 | 禁止 | 禁止 |
修改server.xml文件
<user name="mycat">
<property name="password">mycat</property>
<property name="schemas">TESTDB</property>
<privileges check="true">
<schema name="TESTDB" dml="1111">
<table name="orders" dml="0000"></table>
</schema>
</privileges>
</user>
当使用mycat用户进行登录的时候会发现其他的表都可以做增删改查操作,但是orders表什么操作都做不了,这就是对权限作了控制。
1.2 SQL拦截
firewall标签用来定义防火墙,firewall下whitehost标签用来定义IP白名单,blacklist用来定义SQL黑名单。
- 白名单
可以通过设置白名单,实现某主机某用户可以访问mycat,而其他主机用户禁止访问。
<firewall>
<whitehost>
<host host="192.168.109.132" user="mycat"></host>
</whitehost>
</firewall>
- 黑名单
用户还可以通过设置黑名单,实现mycat对具体sql操作的拦截,如增删改查等操作的拦截
黑名单SQL拦截功能列表:
配置项 | 默认值 | 功能 |
---|---|---|
selectAllow | true | 是否允许执行select语句 |
selectColumnAllow | true | 是否允许执行select *操作 |
selectIntoAllow | true | 是否允许select语句中包含into子句 |
deleteAllow | true | 是否允许执行delete语句 |
updateAllow | true | 是否允许执行update语句 |
insertAllow | true | 是否允许执行insert语句 |
replaceAllow | true | 是否允许执行replace语句 |
createTableAllow | true | 是否允许创建表 |
setAllow | true | 是否允许使用set语法 |
truncateAllow | true | 是否允许执行truncate语句 |
alterTableAllow | true | 是否允许执行alter table语句 |
dropTableAllow | true | 是否允许修改表 |
commitAllow | true | 是否允许执行commit操作 |
rollbackAllow | true | 是否允许执行rollback操作 |
useAllow | true | 是否允许执行use语句 |
describeAllow | true | 是否允许执行describe操作 |
showAllow | true | 是否允许执行show语句 |
2. mycat监控工具
mycat-web是mycat可视化运维管理和监控平台,弥补了mycat在监控上的空白。帮mycat分担统计任务和配置管理任务。mycat-web引入了zookeeper作为配置中心,可以管理多个节点。mycat-web主要管理和监控mycat的流量、连接、活动现成和内存等,具备IP白名单、邮件告警等模块,还可以统计SQL并分析慢SQL和高频SQL等,为SQL的优化提供了依据。
-
下载地址:http://dl.mycat.org.cn/
-
安装zookeeper
1、下载zookeeper安装包
2、安装拷贝到/usr/local目录,并解压
3、进入到zookeeper解压后的目录conf,复制配置文件并改名
cp zoo_sample.cfg zoo.cfg
4、进入到zookeeper的bin目录,运行启动命令
./zkServer.sh start
5、执行如下命令,看zookeeper是否正常启动
netstat -nlpt | grep 2181
- 安装mycat-web
1、下载mycat-web安装包
2、解压安装包到/usr/local目录
3、配置zookeeper
进入到mycat-web的/usr/local/mycat-web/mycat-web/WEB-INF/classes,修改mycat.properties文件,可以修改zookeeper的地址
4、进入mycat-web的目录运行启动命令
./start.sh &
5、mycat-web的服务端口是8082,查看服务是否启动
netstat -nlpt | grep 8082
6、通过地址访问服务
192.168.109.132:8082/mycat/
- mycat-web配置
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhiafbfh
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
excel打印预览压线压字怎么办
PHP中文网 06-22