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、数据源(需要操作的数据库)->配置权限组,将数据源加入到权限组->登录到不同的用户测试流程

相关推荐
IvorySQL1 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
·云扬·1 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
IT邦德1 小时前
Oracle 26ai DataGuard 搭建(RAC到单机)
数据库·oracle
惊讶的猫2 小时前
redis分片集群
数据库·redis·缓存·分片集群·海量数据存储·高并发写
不爱缺氧i2 小时前
完全卸载MariaDB
数据库·mariadb
纤纡.2 小时前
Linux中SQL 从基础到进阶:五大分类详解与表结构操作(ALTER/DROP)全攻略
linux·数据库·sql
jiunian_cn2 小时前
【Redis】渐进式遍历
数据库·redis·缓存
橙露2 小时前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot
冰暮流星2 小时前
sql语言之分组语句group by
java·数据库·sql
符哥20082 小时前
Ubuntu 常用指令集大全(附实操实例)
数据库·ubuntu·postgresql