10.22 Mysql sql審核平臺yearning

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功能。

效果展示

Mysql sql審核平臺yearning

Mysql sql審核平臺yearning

Mysql sql審核平臺yearning

Mysql sql審核平臺yearning


分享到:


相關文章: