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

相关推荐
陌上丨3 小时前
Redis的Key和Value的设计原则有哪些?
数据库·redis·缓存
AI_56783 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
ccecw4 小时前
Mysql ONLY_FULL_GROUP_BY模式详解、group by非查询字段报错
数据库·mysql
JH30734 小时前
达梦数据库与MySQL的核心差异解析:从特性到实践
数据库·mysql
数据知道4 小时前
PostgreSQL 核心原理:如何利用多核 CPU 加速大数据量扫描(并行查询)
数据库·postgresql
麦聪聊数据5 小时前
Web 原生架构如何重塑企业级数据库协作流?
数据库·sql·低代码·架构
未来之窗软件服务5 小时前
数据库优化提速(四)新加坡房产系统开发数据库表结构—仙盟创梦IDE
数据库·数据库优化·计算机软考
Goat恶霸詹姆斯7 小时前
mysql常用语句
数据库·mysql·oracle
大模型玩家七七7 小时前
梯度累积真的省显存吗?它换走的是什么成本
java·javascript·数据库·人工智能·深度学习
曾经的三心草7 小时前
redis-9-哨兵
数据库·redis·bootstrap