數據庫運維平台
github地址:https://github.com/qq290070744/sql_manage
國內倉庫碼雲地址:https://gitee.com/jiangwenhui_admin/sql_manage
軟件架構
軟件架構說明
- goInception: hanchuanchuan開源,提供SQL語句審核、執行、回滾功能
- SOAR: 小米開源,提供SQL啟發式算法的語句優化、多列索引優化等功能
安裝
docker run --name goinception -p 4000:4000 -d hanchuanchuan/goinception
docker build -t sql_platform . docker run --name sql_platform -p 8000:8000 -e PYTHONENV=prod -e mysql_host=xxx -e mysql_port=3306 -e mysql_user=root -e mysql_pwd=123456 -e mysql_db=sql_platform -e inception_host=127.0.0.1 -e inception_port=4000 -d sql_platform #導入表結構 mysql -uroot -p123456 -D sql_platform < table.sql
訪問 ip:8000 用戶:admin 密碼:admin123
功能簡介
- 目標庫管理
- 支持多場地/數據中心的數據庫管理,集群方式歸納目標數據庫
- 支持目標數據庫配置,庫/表結構查詢
- SQL操作
- 基於goInception
- SQL語法檢測
- SQL語句執行
- SQL回滾
- 定時工單
- 歷史記錄
- SQL查詢
- 查詢目標數據庫的詳細表結構
- 查詢表數據,對結果可導出文件
- SQL語句優化(基於小米SOAR)
- 用戶管理
- 對用戶/組的注冊/注銷/加組/授權等管理
- 個性化設置
- 管理員可以做SQL關鍵字攔截,平台的審批功能開關等設置
- 用戶可以訂閱其常用的數據庫,指定審批工單的經理,以簡化審核時所需的操作
- goinception設置
- goinception服務連接信息
- goinception備份庫連接信息
- goinception支持的參數釋義及值
- 人工審批功能
- 流程開關
- 開啟流程,工單至少需雙人確認(流程:提交人 -- goinception自動審核 -- 經理審批 -- DBA上線)
- 關閉流程,工單可由經理上線(流程:提交人 -- goinception自動審核 -- 經理上線)
- 用戶權限
- 基於RBAC的表級,對象級權限控制體系
- 通過用戶管理設置用戶權限
- 根據用戶身份(組員/主管/)鑒權用戶對SQL的審核/取消/執行/回滾等操作
- 操作流程
- 用戶需要輸入SQL,指定環境,執行人,數據庫
- goinception自動審核SQL語法
- 審批人做審批通過或駁回操作
- 執行人做執行/撤銷/回滾等操作
- SQL列表界面提供SQL查詢,操作等相關功能
界面展示
- SQL查詢
- 工單審核
- 工單詳情 1
- 工單詳情 2
- 工單列表
- 用戶管理
二次開發
這里只面包含了后端的代碼,如果需要二次開發前端,下面就提供了前端代碼的鏈接地址