Yearning:一个免费开源的SQL审核平台

Yearning 是一款专为 MySQL 设计的开源、轻量级 SQL 审核平台,可以通过自动化的审核流程、细粒度的权限管理和完善的消息推送机制提升数据库操作的规范性、安全性和运维效率。

Yearning 项目后端采用 Go 语言实现,前端采用 Vue.js 框架实现,基于 AGPL-3.0 开源许可,源代码同时托管在 GitHub 和 Gitee:

功能特性

  • AI 助手:通过 AI 助手提供实时 SQL 优化建议,提升 SQL 性能。同时支持文本到 SQL 的转换,允许用户输入自然语言并接收优化后的 SQL 语句。
  • SQL 查询:通过 SQL 语法高亮和自动补全功能提高查询编写效率。这些功能帮助用户在视觉上区分 SQL 查询的不同部分,如关键字、表名、列名和运算符,使阅读和理解查询结构变得更容易。
  • SQL 审计:创建具有审批工作流和自动语法检查的 SQL 审计工单。验证 SQL 语句的正确性、安全性和合规性。同时为 DDL/DML 操作自动生成回滚语句,并提供全面的历史记录以便追溯。
  • 查询审计:审计用户查询,限制数据源和数据库,并匿名化敏感字段。查询记录被保存以供将来参考。
  • 检查规则:自动语法检查器支持多种检查规则,适用于大多数自动检查场景。

  • 隐私保护:Yearning 是一个本地部署的开源解决方案,确保数据库和 SQL 语句的安全。它可以提供加密机制以保护敏感数据,即使在未经授权的访问情况下也能确保数据安全。

  • 基于角色的访问控制(RBAC):创建和管理具有特定权限的角色,根据用户角色限制对查询工单、审计功能和其他敏感操作的访问。

  • 消息推送:支持通过邮件、钉钉机器人等渠道推送工单通知。

下载安装

推荐使用 Docker Commpose 进行安装体验,首先创建一个 docker-compose.yml 文件,内容如下:

yaml 复制代码
services:
    yearning:
        image: yeelabs/yearning:latest
        environment:
           MYSQL_USER: yearning
           MYSQL_PASSWORD: ukC2ZkcG_ZTeb
           MYSQL_ADDR: mysql
           MYSQL_DB: yearning
           SECRET_KEY: dbcjqheupqjsuwsm
           IS_DOCKER: is_docker
        ports:
           - 8000:8000
        # 首次使用请先初始化
        # command: /bin/bash -c "./Yearning install && ./Yearning run"
        depends_on:
           - mysql
        restart: always

    mysql:
        image: mysql:5.7
        environment:
           MYSQL_ROOT_PASSWORD: ukC2ZkcG_ZTeb
           MYSQL_DATABASE: yearning
           MYSQL_USER: yearning
           MYSQL_PASSWORD: ukC2ZkcG_ZTeb
        command:
           - --character-set-server=utf8mb4
           - --collation-server=utf8mb4_general_ci
        volumes:
           - ./data/mysql:/var/lib/mysql

# 默认账号:admin,默认密码:Yearning_admin

然后执行以下命令进行安装:

复制代码
docker-compose up -d

启动服务之后,通过浏览器访问以下地址:

http://127.0.0.1:8000

默认账号/密码:admin/Yearning_admin。

参考文档:

https://next.yearning.io/zh/

总结

Yearning 是一个专为数据库管理员(DBA)和开发人员设计的 MySQL 审计平台,专注于隐私和效率,为 SQL 检测和查询审计提供了一个直观且安全的环境。

相关推荐
Gauss松鼠会3 小时前
GaussDB慢sql信息收集和执行计划查看
数据库·sql·gaussdb
FreeBuf_3 小时前
AWS服务大规模中断,基础设施故障影响全球企业
网络·数据库·aws
NineData3 小时前
NineData 数据库 DevOps 新增支持 PolarDB-X
数据库·devops·数据库管理工具·ninedata·polardb-x·sql审核·sql管理工具
christine-rr3 小时前
MySQL数据库管理、DDL、DQL、DML、DCL等总结
linux·数据库·mysql
观望过往3 小时前
非关系型数据库(NoSQL)学习指南:从入门到实战
数据库·nosql
Quz4 小时前
QML TableView:基于SQLite实现增删改查
数据库·qt·sqlite
JuneXcy4 小时前
第2章 数据库系统的核心--数据模型
数据库·mysql·oracle
emma羊羊4 小时前
【业务逻辑漏洞】认证漏洞
mysql·网络安全·靶场·业务逻辑漏洞