MySql审计平台

安装方式:

cookieY/Yearning: 🐳 A most popular sql audit platform for mysql (github.com)

对数据库的一系列后台操作

  • AI助手 - AI助手提供SQL优化建议,帮助用户优化SQL语句,以获得更好的性能。同时AI助手还提供文本到SQL的转换功能
  • SQL审计 - 支持创建带有标准工作流和自动语法检查器的SQL审计工单,以验证提交的SQL语句的正确性、安全性和合规性。在需要时自动生成与提交的DDL/DML操作相对应的回滚语句,方便恢复操作。保留所有SQL审计操作的详细历史记录,以实现可追溯性和审计目的。
  • 查询审计 - 支持对用户查询语句进行审计,包括对数据源和数据库的限制,以及敏感字段的匿名化处理。查询记录也会被保存以供日后参考。
  • 检查规则 - 自动语法检查器支持数十种检查规则,满足大多数自动检查场景的需求。
  • 安全 - 可在本地部署并具有开源特性的解决方案确保您的数据库和SQL语句的安全。除了提供对基础架构的控制外,还包括加密机制,用于在将敏感数据存储到数据库之前保护数据。
  • RBAC - 可以创建和管理不同角色,并为每个角色分配特定权限。这使您可以根据分配的角色限制用户对查询工单、审计功能和其他敏感操作的访问权限。

手动安装:

复制代码
## 初始化数据库
./Yearning install

## 启动
./Yearning run

## 帮助
./Yearning --help

这里有俩种方式:

1、docker容器里面安装mql(官方)

复制代码
## 初始化数据库
docker run --rm -it -p8000: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 yeelabs/yearning "/opt/Yearning install"
## 必须在启动容器中初始化数据库
docker run -d -it -p8000: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 yeelabs/yearning

自己:

先拉取mysql镜像,构建容器,然后运行容器,映射本机访问端口,3306

复制代码
docker pull mysql:5.7
docker run -itd --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.7

这是最新版

这个是老版本稳定版3.1.0的

复制代码
启动之前需要修改一下配置文件
[root@ruoyi Yearning]# vim conf.toml 
[Mysql]
Db = "yearning"
Host = "127.0.0.1"    --这个是本机mysql,写的是本机的IP,容器的话,需要写127.0.0.2
Port = "3306"
Password = "123456"  --数据库的密码
User = "root"      --登录的用户

[General]
SecretKey = "dbcjqheupqjsuwsm"
Hours = 4


[Oidc]
Enable = false
ClientId = "yearning"
ClientSecret = "fefehelj23jlj22f3jfjdfd"
Scope = "openid profile"
AuthUrl = "https://keycloak.xxx.ca/auth/realms/master/protocol/openid-connect/auth"
TokenUrl = "https://keycloak.xxx.ca/auth/realms/master/protocol/openid-connect/token"
UserUrl = "https://keycloak.xxx.ca/auth/realms/master/protocol/openid-connect/userinfo"
RedirectUrL = "http://127.0.0.1:8000/oidc/_token-login"
UserNameKey = "preferred_username"
RealNameKey = "name"
EmailKey = "email"
SessionKey = "session_state"

#启动命令
[root@ruoyi ~]# ls
RuoYi-Vue-jenkins                anaconda-ks.cfg                            prometheus-2.45.0.linux-amd64              ruoyi-project-compose.tar.gz
Yearning                         grafana-enterprise-10.0.0-1.x86_64.rpm     prometheus-2.45.0.linux-amd64.tar.gz
Yearning-v3.1.0-linux-amd64.zip  mysqld_exporter-0.15.0.linux-amd64         redis_exporter-v1.53.0.linux-amd64
a.sh                             mysqld_exporter-0.15.0.linux-amd64.tar.gz  redis_exporter-v1.53.0.linux-amd64.tar.gz
[root@ruoyi ~]# cd Yearning
[root@ruoyi Yearning]# ls
README.md  Yearning  conf.toml  docker  migrate
[root@ruoyi Yearning]# ./Yearning run
检查更新.......
数据已更新!

2024/08/03 12:21:10 /Users/henryyee/PersonalProjects/Yearning-go/src/service/yearning.go:62 record not found
[4.313ms] [rows:0] SELECT * FROM `core_global_configurations` ORDER BY `core_global_configurations`.`id` LIMIT 1

    __  __          
    _ \/ /_________ 
    __  /_  _ \  _ \
    _  / /  __/  __/
    /_/  \___/\___/   yee v0.3.5
-----Easier and Faster-----
Creator: Henry Yee

1、上传代码包

2、创建数据库或数据库容器,创建库,注意库要配置utf8字符集

create database yearning default charset 'utf8';

3、修改配置文件

库名如果不同需要修改

密码需要修改

4、./Yearning install 安装

5、运行程序

./Yearning run

6、访问

端口:8000

账号:admin

密码:Yearning_admin

7、操作流程

1、创建用户->2、将用户加入到权限组->3、数据源(需要操作的数据库)->配置权限组,将数据源加入到权限组->登录到不同的用户测试流程

相关推荐
随逸1772 小时前
《Milvus向量数据库从入门到实战,手把手搭建语义检索系统》
数据库
神秘的猪头3 小时前
🚀 React 开发者进阶:RAG 核心——手把手带你玩转 Milvus 向量数据库
数据库·后端·llm
0xDevNull20 小时前
MySQL索引进阶用法
后端·mysql
0xDevNull20 小时前
MySQL索引用法
mysql
IvorySQL21 小时前
PostgreSQL 技术日报 (3月6日)|为什么 Ctrl-C 在 psql 里让人不安?
数据库·postgresql·开源
NineData1 天前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
程序员小崔日记1 天前
一篇文章彻底搞懂 MySQL 和 Redis:原理、区别、项目用法全解析(建议收藏)
redis·mysql·项目实战
IvorySQL1 天前
PostgreSQL 技术日报 (3月5日)|规划器控制力升级,内核能力再进阶
数据库·postgresql·开源
武子康1 天前
大数据-241 离线数仓 - 实战:电商核心交易数据模型与 MySQL 源表设计(订单/商品/品类/店铺/支付)
大数据·后端·mysql