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