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 检测和查询审计提供了一个直观且安全的环境。

相关推荐
老葱头蒸鸡14 分钟前
(4)Kafka消费者分区策略、Rebalance、Offset存储机制
sql·kafka·linq
员大头硬花生16 分钟前
九、InnoDB引擎-MVCC
数据库·sql·mysql
一条闲鱼_mytube17 分钟前
mvcc 简介
数据库
稻香味秋天19 分钟前
单元测试指南
数据库·sqlserver·单元测试
JosieBook31 分钟前
【数据库】Apache IoTDB数据库在大数据场景下的时序数据模型与建模方案
数据库·apache·iotdb
全栈胖叔叔-瓜州1 小时前
关于微软最新数据库引擎sqlserver2025 关于向量距离函数调用的问题
数据库·microsoft
全栈小51 小时前
【Rust】从0到1开发和运行Web相关功能,并简单实现数据库连接和查询
数据库·rust
星光一影1 小时前
基于SpringBoot与Vue的海外理财系统设计与实现
vue.js·spring boot·后端·mysql·node.js·html5
墨辰JC1 小时前
基于STM32标准库的FreeRTOS移植与任务创建
数据库·stm32·嵌入式硬件·freertos
R.lin1 小时前
MongoDB知识点与技巧总结
数据库·mongodb