开源MySQL SQL审核与权限管理平台Yearning的部署与中文化指南

个人名片
在这里插入图片描述
🎓作者简介:java领域优质创作者
🌐个人主页码农阿豪
📞工作室:新空间代码工作室(提供各种软件服务)
💌个人邮箱:[2435024119@qq.com]
📱个人微信:15279484656
🌐个人导航网站www.forff.top
💡座右铭:总有人要赢。为什么不能是我呢?

  • 专栏导航:

码农阿豪系列专栏导航
面试专栏:收集了java相关高频面试题,面试实战总结🍻🎉🖥️
Spring5系列专栏:整理了Spring5重要知识点与实战演练,有案例可直接使用🚀🔧💻
Redis专栏:Redis从零到一学习分享,经验总结,案例实战💐📝💡
全栈系列专栏:海纳百川有容乃大,可能你想要的东西里面都有🤸🌱🚀

开源MySQL SQL审核与权限管理平台Yearning的部署与中文化指南

引言

在团队协作开发中,数据库权限管理和SQL审核是保障数据安全、避免误操作的重要手段。开源工具 Yearning 作为一款轻量级的MySQL SQL审核平台,提供了多级审核、权限控制、操作审计等功能,适合中小型团队使用。本文将详细介绍:

  1. Yearning的核心功能与优势
  2. 如何部署Yearning
  3. 设置中文界面(3种方法)
  4. 结合代码示例优化团队SQL审核流程

一、Yearning简介

1.1 什么是Yearning?

Yearning 是一款开源的 MySQL SQL审核与权限管理平台,由 Go 语言编写,具有以下特点:

  • 轻量易部署(单二进制文件,依赖少)
  • 多级审核流程(支持DBA、开发、运维分级审核)
  • SQL语法检查(自动识别高危操作)
  • 细粒度权限控制(基于RBAC模型)
  • 操作审计日志(记录所有SQL执行历史)

1.2 为什么选择Yearning?

对比项YearningArcherySQLE
部署难度⭐⭐⭐⭐⭐⭐⭐⭐⭐
中文支持完善完善部分
权限管理行列级库表级企业级
适用场景中小团队中大型企业级

二、Yearning部署指南

2.1 环境准备

  • 服务器:Linux (CentOS/Ubuntu)
  • 依赖:MySQL 5.7+/8.0(用于存储Yearning元数据)
  • 网络:开放8000端口(默认Web端口)

2.2 安装步骤

(1)下载Yearning
wget https://github.com/cookieY/Yearning/releases/download/v3.0.0/Yearning-go.tar.gz
tar -xzvf Yearning-go.tar.gz
cd Yearning
(2)初始化数据库
-- 在MySQL中创建Yearning所需的数据库
CREATE DATABASE yearning CHARACTER SET utf8mb4;
GRANT ALL PRIVILEGES ON yearning.* TO 'yearning'@'%' IDENTIFIED BY 'your_password';
(3)修改配置文件

编辑 conf.toml

[mysql]
host = "127.0.0.1"
port = 3306
user = "yearning"
password = "your_password"
db = "yearning"

[General]
SecretKey = "abcd012345678efg"
Hours = 4
QueryClient = true
QueryPort = 3307
LogLevel = "info"  # debug,info,warn,error
Lang = "zh_CN"  # en_US,zh_CN

(4)启动Yearning
./Yearning install  # 初始化表结构
./Yearning run      # 启动服务

访问 http://your-server-ip:8000,默认账号:admin,密码:Yearning_admin。


三、设置中文界面(3种方法)

3.1 方法1:通过Web界面切换(推荐)

  1. 登录后点击右上角 「个人设置」
  2. 在 Language 选项中选择 「中文」
  3. 保存后刷新页面即可生效

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.2 方法2:修改配置文件

如果首次部署希望默认中文,编辑 conf.toml

[global]
language = "zh"  # zh-中文, en-英文

重启服务生效:

./Yearning restart

3.3 方法3:Docker环境变量

如果是Docker部署,启动时指定语言:

docker run -d \
  -e LANGUAGE="zh" \
  -p 8000:8000 \
  --name yearning \
  container_name/yearning

四、Yearning实战:SQL审核流程

4.1 配置审核规则

在 「审核规则」 页面中,可以自定义SQL规范:

-- 示例:禁止无WHERE条件的UPDATE/DELETE
{
  "rule_name": "no_where_update",
  "desc": "禁止不带WHERE的UPDATE/DELETE",
  "level": "error",
  "type": "DML",
  "pattern": "(UPDATE|DELETE)(?!.*WHERE).*"
}

4.2 提交SQL工单

开发人员在Web界面提交SQL:

-- 示例:创建用户表
CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB;

DBA会在 「工单审核」 中收到通知并审批。

4.3 自动执行与备份

Yearning支持:

  • 自动执行(通过审核后自动运行)
  • 备份回滚(对DDL自动生成回滚SQL)

五、权限管理最佳实践

5.1 角色划分

角色权限范围
admin所有功能
dev提交/查询工单
dba审核/执行工单

5.2 库表权限控制

通过 「权限管理」 页面,可以精确控制用户能访问的库表:

-- 示例:仅允许dev角色访问test_开头的库
GRANT SELECT ON `test_%`.* TO 'dev'@'%';

六、总结

Yearning 是一款适合中小团队的 MySQL SQL审核与权限管理工具,通过本文你可以:

  1. 快速部署Yearning(10分钟内完成)
  2. 设置中文界面(3种方法可选)
  3. 建立规范的SQL审核流程(避免误操作)
  4. 实现细粒度权限控制(保障数据安全)

进一步优化建议

  • 集成LDAP:实现统一账号管理
  • 对接Prometheus:监控SQL执行性能
  • 自定义插件:扩展审核规则

GitHub地址:https://github.com/cookieY/Yearning
官方文档:https://guide.yearning.io

posted @ 2025-06-13 17:48  性感的猴子  阅读(0)  评论(0)    收藏  举报  来源