大家好,我是 Java陈序员。
对于企业而言,MySQL 数据库的操作审计从来都不是小事:一次违规的 DDL 操作可能导致数据丢失,无管控的查询可能泄露核心敏感信息,缺乏追溯的操作记录更是合规审计的“重灾区”。
传统的人工审核模式效率低、易遗漏,云端审计工具又让企业担心数据泄漏问题。
今天,给大家推荐一款本地化的 SQL 审计工具,专注隐私和效率!
关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。
项目介绍
Yearning —— 一个强大且本地部署的平台,专为数据库管理员(DBA)和开发人员设计,提供无缝的 SQL 检测和查询审计。
功能特色:
- 全流程 SQL 审计:从工单提交到执行复盘,实现 SQL 操作全生命周期管控,内置丰富的 SQL 语法检查规则,所有 DDL/DML 操作需提交工单,工单提交、审核、执行记录全程留存
- 精细化权限管控:基于 RBAC 机制,按角色划分数据源、数据库访问、查询工单、审计功能等权限
- 全维度管控数据访问:记录所有用户查询操作,限制数据源访问范围,留存查询记录供后续追溯,对身份证、手机号等敏感字段自动脱敏展示,兼顾查询需求与数据保护
- 实用交互功能:提供 SQL 语法高亮、自动补全功能,支持国际化多语言
- AI 智能辅助:内置 AI 助手模块,覆盖 SQL 编写、优化全场景
快速上手
Yearning 支持 Docker 部署,可使用 Docker 快速部署。
1、拉取镜像- docker pull yeelabs/yearning
复制代码 2、Yearning 依赖 MySQL 数据库,MySQL 版本必须为 5.7 及以上版本(8.0 及以上请将 sql_mode 设置为空)并且需要创建 yearning 库,字符集应为 UTF8mb4- CREATE DATABASE `yearning` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
复制代码 3、初始化数据库数据- docker run --rm -it \
- -p 8000:8000 \
- -e SECRET_KEY=$SECRET_KEY \
- -e MYSQL_USER=$MYSQL_USER \
- -e MYSQL_ADDR=$MYSQL_ADDR \
- -e MYSQL_PASSWORD=$MYSQL_PASSWORD \
- -e MYSQL_DB=$Yearning_DB \
- -e Y_LANG=zh_CN \
- yeelabs/yearning "/opt/Yearning install"
复制代码 环境变量需要进行修改,参数说明:
- $SECRET_KEY: token/数据库密码加密/解密的 salt, 大小写字母均可, 长度必须为 16 位 如长度不是 16 位将会导致无法新建数据源
- $MYSQL_USER: 数据库连接用户
- $MYSQL_ADDR: 数据库连接地址
- $MYSQL_PASSWORD: 数据库连接密码
- $Yearning_DB: 数据库名
4、运行容器- docker run -d -it \
- --name yearning \
- -p 8000:8000 \
- -e SECRET_KEY=$SECRET_KEY \
- -e MYSQL_USER=$MYSQL_USER \
- -e MYSQL_ADDR=$MYSQL_ADDR \
- -e MYSQL_PASSWORD=$MYSQL_PASSWORD \
- -e MYSQL_DB=$Yearning_DB \
- -e Y_LANG=zh_CN \
- yeelabs/yearning
复制代码环境变量需要进行修改,参数说明同上。
传入相应变量后(仅供参考):- docker run -d -it \
- --name yearning \
- -p 8000:8000 \
- -e SECRET_KEY=0123456789abcdef \
- -e MYSQL_USER=root \
- -e MYSQL_ADDR=10.0.0.3:3306 \
- -e MYSQL_PASSWORD=root \
- -e MYSQL_DB=yearning \
- -e Y_LANG=zh_CN \
- yeelabs/yearning
复制代码 5、容器运行成功后,浏览器访问默认账号:admin, 默认密码:Yearning_admin.
功能体验
可以说,无论是中小企业的数据库审计需求,还是大型团队的精细化权限管控场景,Yearning 都能适配。如果你正被 SQL 审计、权限管控困扰,不妨试试!快去部署体验吧~- 项目地址:https://github.com/cookieY/Yearning
复制代码 最后
推荐的开源项目已经收录到 GitHub 项目,欢迎 Star:- https://github.com/chenyl8848/great-open-source-project
复制代码 或者访问网站,进行在线浏览:- https://chencoding.top:8090/#/
复制代码
我创建了一个开源项目交流群,方便大家在群里交流、讨论开源项目。
但是任何人在群里打任何广告,都会被 T 掉。
如果你对这个交流群感兴趣或者在使用开源项目中遇到问题,可以通过如下方式进群:
关注微信公众号:【Java陈序员】,回复【开源项目交流群】进群,或者通过公众号下方的菜单添加个人微信,并备注【开源项目交流群】,通过后拉你进群。
大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |