Yearning MYSQL SQL語句審核平臺。提供查詢審計,SQL審核等多種功能
Feature 功能
- SQL查詢
- 查詢工單
- 導出
- 自動補全,智能提示
- 查詢語句審計
- SQL審核
- 流程化工單
- SQL語句檢測與執行
- SQL回滾
- 歷史審核記錄
- 推送
- E-mail工單推送
- 釘釘webhook機器人工單推送
- 用戶權限及管理
- 角色劃分
- 基於用戶的細粒度權限
- 註冊
- 其他
- todoList
- LDAP登錄
- 動態審核規則配置
- AutoTask自動執行
注意事項
Yearning 不依賴於任何第三方SQL審核工具作為審核引擎,內部已自己實現審核/回滾相關邏輯。
僅依賴Mysql數據庫。
mysql版本必須5.7及以上版本,請事先自行安裝完畢且創建Yearning庫,字符集應為UTF-8/UTF8mb4 (僅Yearning所需mysql版本)
Yearning日誌僅輸出error級別,沒有日誌即可認為無運行錯誤!
Yearning 基於1080p分辨率開發僅支持1080p及以上顯示器訪問
由於使用較多新的前端技術棧,請使用Chrome最新版本(不包括360等其他魔改版本)
特別注意
語法支持
Yearning 目前兼容99%的Mysql 標準SQL語法。
但由於審核邏輯等因素的限制,對一些SQL語句並不能保證得到正確的反饋
已知不支持的語句類型有:
- 複雜的查詢語句(多表,多函數,非必現。並不是所有複雜語句不支持)
- create table like 語句
- 視圖語句
- 外鍵相關語句
影響行數
Yearning採用Explain分析SQL語句的影響行數。由於Explain生成的影響行數受主鍵,索引等其他因素的影響,並不能100%保證其準確性。其更多的是反應了該語句導致的全表掃描行數,所以對於誤差較大的語句具有一定的優化參考意義。
預檢查
Yearning採用預檢查的方法進行SQL檢測,對於同一工單內添加並編輯的語句會產生字段不存在的錯誤
例如
ALTER TABLE core_data_sources ADD t1 int( 11) DEFAULT 0 COMMENT '已退換貨數量';
ALTER TABLE core_data_sources ADD t2 int( 11) DEFAULT 0 COMMENT '申請中數量' AFTER t1;
該工單第二條語句依賴第一條語句創建的字段。由於當前數據庫並沒有t1這個字段,所以該工單檢測時會報錯t1字段不存在的問題。
語句本身沒有問題因為在mysql執行中是逐條執行並檢測。當第一條執行後表內生成該字段,第二條執行前檢測自然也就正常。
生成回滾語句
Yearning 採用解析binlog方式的方式獲得回滾語句。由於Mysql replication協議限制,必須擁有SUPER/REPLICATION SLAVE, REPLICATION CLIENT ,ALL PRIVILEGES 權限的賬號才可以獲得binlog流。所以,如想體驗生成回滾語句備份功能,請確保對應填寫的數據源賬號擁有相應權限,同時對應數據源應開啟binlog功能。
效果展示
閱讀更多 雲上猿人 的文章