大家好,我是 Java陳序員。
對於企業而言,MySQL 數據庫的操作審計從來都不是小事:一次違規的 DDL 操作可能導致數據丟失,無管控的查詢可能泄露核心敏感信息,缺乏追溯的操作記錄更是合規審計的“重災區”。
傳統的人工審核模式效率低、易遺漏,雲端審計工具又讓企業擔心數據泄漏問題。
今天,給大家推薦一款本地化的 SQL 審計工具,專注隱私和效率!
關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。
項目介紹
Yearning —— 一個強大且本地部署的平台,專為數據庫管理員(DBA)和開發人員設計,提供無縫的 SQL 檢測和查詢審計。
功能特色:
- 全流程 SQL 審計:從工單提交到執行復盤,實現 SQL 操作全生命週期管控,內置豐富的 SQL 語法檢查規則,所有 DDL/DML 操作需提交工單,工單提交、審核、執行記錄全程留存
- 精細化權限管控:基於 RBAC 機制,按角色劃分數據源、數據庫訪問、查詢工單、審計功能等權限
- 全維度管控數據訪問:記錄所有用户查詢操作,限制數據源訪問範圍,留存查詢記錄供後續追溯,對身份證、手機號等敏感字段自動脱敏展示,兼顧查詢需求與數據保護
- 實用交互功能:提供 SQL 語法高亮、自動補全功能,支持國際化多語言
- AI 智能輔助:內置 AI 助手模塊,覆蓋 SQL 編寫、優化全場景
快速上手
Yearning 支持 Docker 部署,可使用 Docker 快速部署。
1、拉取鏡像
docker pull yeelabs/yearning
2、Yearning 依賴 MySQL 數據庫,MySQL 版本必須為 5.7 及以上版本(8.0 及以上請將 sql_mode 設置為空)並且需要創建 yearning 庫,字符集應為 UTF8mb4
CREATE DATABASE `yearning` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
3、初始化數據庫數據
docker run --rm -it \
-p 8000: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 \
-e Y_LANG=zh_CN \
yeelabs/yearning "/opt/Yearning install"
環境變量需要進行修改,參數説明:
$SECRET_KEY: token/數據庫密碼加密/解密的 salt, 大小寫字母均可, 長度必須為 16 位 如長度不是 16 位將會導致無法新建數據源$MYSQL_USER: 數據庫連接用户$MYSQL_ADDR: 數據庫連接地址$MYSQL_PASSWORD: 數據庫連接密碼$Yearning_DB: 數據庫名
4、運行容器
docker run -d -it \
--name yearning \
-p 8000: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 \
-e Y_LANG=zh_CN \
yeelabs/yearning
環境變量需要進行修改,參數説明同上。
傳入相應變量後(僅供參考):
docker run -d -it \
--name yearning \
-p 8000:8000 \
-e SECRET_KEY=0123456789abcdef \
-e MYSQL_USER=root \
-e MYSQL_ADDR=10.0.0.3:3306 \
-e MYSQL_PASSWORD=root \
-e MYSQL_DB=yearning \
-e Y_LANG=zh_CN \
yeelabs/yearning
5、容器運行成功後,瀏覽器訪問
http://{IP/域名}:8000
默認賬號:
admin, 默認密碼:Yearning_admin.
功能體驗
- 首頁

- AI 建議

- 我的工單


- 工單申請

- 工單審批


- 用户

- 數據源

- 流程

- 審核規則

- 設置

可以説,無論是中小企業的數據庫審計需求,還是大型團隊的精細化權限管控場景,Yearning 都能適配。如果你正被 SQL 審計、權限管控困擾,不妨試試!快去部署體驗吧~
項目地址:https://github.com/cookieY/Yearning
最後
推薦的開源項目已經收錄到 GitHub 項目,歡迎 Star:
https://github.com/chenyl8848/great-open-source-project
或者訪問網站,進行在線瀏覽:
https://chencoding.top:8090/#/

我創建了一個開源項目交流羣,方便大家在羣裏交流、討論開源項目。
但是任何人在羣裏打任何廣告,都會被 T 掉。
如果你對這個交流羣感興趣或者在使用開源項目中遇到問題,可以通過如下方式進羣:
關注微信公眾號:【Java陳序員】,回覆【開源項目交流羣】進羣,或者通過公眾號下方的菜單添加個人微信,並備註【開源項目交流羣】,通過後拉你進羣。
大家的點贊、收藏和評論都是對作者的支持,如文章對你有幫助還請點贊轉發支持下,謝謝!