欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql審核查詢(xún)平臺(tái)Archery部署過(guò)程

 更新時(shí)間:2025年02月18日 09:35:16   作者:趙廣陸  
Archery是一個(gè)開(kāi)源的SQL審核查詢(xún)平臺(tái),旨在提升DBA的工作效率,它支持多數(shù)據(jù)庫(kù)的SQL上線(xiàn)和查詢(xún),并且所有功能都兼容手機(jī)端操作,以下是基于Docker搭建Archery2.1系統(tǒng)環(huán)境的步驟,包括配置、安裝、啟動(dòng)等

1 Archery產(chǎn)品介紹

官網(wǎng)地址:https://archerydms.com/

在技術(shù)團(tuán)隊(duì)內(nèi)部進(jìn)行有效的 SQL 管理并不容易,如何進(jìn)行數(shù)據(jù)庫(kù)的統(tǒng)一管理,和線(xiàn)上 SQL 操作的統(tǒng)一審核,變得尤為重要。

Archery,這個(gè)開(kāi)源的 SQL 審核查詢(xún)平臺(tái),或許能為 SQL 審核工作帶來(lái)不小的效率提升。

一條高質(zhì)量的 SQL 語(yǔ)句能使整個(gè)服務(wù)加速好幾倍,而一條有問(wèn)題的 SQL 則可能會(huì)引發(fā)災(zāi)難,造成嚴(yán)重后果,因此,數(shù)據(jù)庫(kù)管理人員的工作就十分重要了,他們掌握著千百萬(wàn)數(shù)據(jù)的命運(yùn),以下是簡(jiǎn)單部署,詳情部署請(qǐng)查看官方文檔!

Archery是archer的分支項(xiàng)目,定位于SQL審核查詢(xún)平臺(tái),旨在提升DBA的工作效率,支持多數(shù)據(jù)庫(kù)的SQL上線(xiàn)和查詢(xún),同時(shí)支持豐富的MySQL運(yùn)維功能,所有功能都兼容手機(jī)端操作,項(xiàng)目位于 https://github.com/hhyo/Archery,同時(shí)也在 Gitee 上開(kāi)源,位于 https://gitee.com/rtttte/Archery

2 基于docker搭建Archery

2.1 系統(tǒng)環(huán)境

  • Centos7
  • Docker 17.2
  • Archery1.8.1

2.2 安裝 Docker

2.2.1 安裝 Docker Compose

# 如果下載速度比較慢,可以切換源
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 注意修改權(quán)限,不然會(huì)報(bào)錯(cuò)
sudo chmod +x /usr/local/bin/docker-compose
# 測(cè)試,查看版本
docker-compose --version

2.2.2 下載Archery

#下載地址 
https://github.com/hhyo/archery/releases/

#下載解壓后路徑pwd
/usr/local/Archery-1.8.1

2.2.3 安裝并啟動(dòng)

# 啟動(dòng)
cd /usr/local/Archery-1.8.1/src/docker-compose
# 下載的東西很多,速度比較慢,如果下載失敗,就多試幾次 
# 生成了五個(gè)docker實(shí)例:redis inception archery goinception mysql
docker-compose -f docker-compose.yml up -d

2.2.4 表結(jié)構(gòu)初始化

docker exec -ti archery /bin/bash
cd /opt/archery
source /opt/venv4archery/bin/activate
python3 manage.py makemigrations sql
python3 manage.py migrate 
# 編譯翻譯文件(有些命令也不知道為啥執(zhí)行,參考一些教學(xué),這條可選執(zhí)行)
python3 manage.py compilemessages

2.2.5 數(shù)據(jù)初始化

# 不同的版本,不一定都有這兩個(gè)sql文件,所以這兩個(gè)命令不一定會(huì)執(zhí)行成功
python3 manage.py dbshell<sql/fixtures/auth_group.sql
python3 manage.py dbshell<src/init_sql/mysql_slow_query_review.sql

2.2.6 創(chuàng)建管理用戶(hù)

python3 manage.py createsuperuser

# python3 manage.py createsuperuser
用戶(hù)名: admin
電子郵件地址: [email protected]
Password: 
Password (again): 
Superuser created successfully.

2.2.7 退出重啟

exit
docker restart archery

2.2.8 日志查看和問(wèn)題排查

docker logs archery -f --tail=50

2.2.9 啟動(dòng)成功查看

訪(fǎng)問(wèn) http://ip:9123

用剛剛創(chuàng)建的admin賬號(hào)登錄

2.2.10 端口占用情況

redis 端口:6379
mysql端口:3306
inception端口:6669
goinception端口:4000
archery端口:9123

3 基本操作

3.1 停止

# 停止
docker stop redis
docker stop inception
docker stop archery
docker stop goinception
docker stop mysql

3.2 刪除

docker rm -f redis
docker rm -f inception
docker rm -f archery
docker rm -f goinception
docker rm -f mysql

4 角色說(shuō)明

角色說(shuō)明
DBA數(shù)據(jù)庫(kù)管理員(Database Administrator,簡(jiǎn)稱(chēng)DBA)
RD研發(fā)(Research and Development)
PM項(xiàng)目經(jīng)理( Project Manager )
QA測(cè)試(QUALITY ASSURANCE,中文意思是“質(zhì)量保證”)

5 系統(tǒng)設(shè)置

5.1 goinception配置 對(duì)MySQL進(jìn)行審核和執(zhí)行

這個(gè)需要提前配置好,不然會(huì)導(dǎo)致無(wú)法提交sql審核,備份庫(kù)需要開(kāi)啟binlog,不然會(huì)執(zhí)行失敗

配置項(xiàng)說(shuō)明
GO_INCEPTION_HOST連接地址,docker-compose啟動(dòng)的請(qǐng)配置為容器名或者docker的ip地址
GO_INCEPTION_PORTgoInception的連接端口,默認(rèn)4000
BACKUP_HOST備份庫(kù)鏈接HOST,用于頁(yè)面展示回滾語(yǔ)句
BACKUP _PORT備份庫(kù)鏈接端口
BACKUP_USER備份庫(kù)鏈接用戶(hù)
BACKUP_PASSWORD備份庫(kù)鏈接密碼

該配置信息,僅僅用于archery從備份庫(kù)查詢(xún)回滾語(yǔ)句使用,該配置信息不會(huì)被goInception服務(wù)使用,goInception連接備份庫(kù)使用的數(shù)據(jù)庫(kù)連接信息應(yīng)在其自身的config.toml中配置。

5.2 SQL查詢(xún)

配置項(xiàng)說(shuō)明
INCEPTION_HOSTInception連接HOST,用于SQL查詢(xún)語(yǔ)法解析,docker-compose啟動(dòng)的請(qǐng)配置為容器名或者docker的ip
INCEPTION_PORTInception連接端口,默認(rèn)6669
QUERY_CHECK相關(guān)issues: https://github.com/hhyo/Archery/issues/145

是否開(kāi)啟SQL查詢(xún)脫敏的Inception檢測(cè),平臺(tái)的SQL查詢(xún)功能依靠Inception的語(yǔ)法樹(shù)打印來(lái)解析查詢(xún)語(yǔ)句中包含的庫(kù)、表、字段信息,從而進(jìn)行數(shù)據(jù)脫敏

  • 開(kāi)啟QUERY_CHECK后,如果遇到Inception無(wú)法解析的語(yǔ)句,則會(huì)直接拋出錯(cuò)誤信息,禁止查詢(xún)
  • 關(guān)閉QUERY_CHECK后,如果遇到Inception無(wú)法解析的語(yǔ)句,系統(tǒng)不再進(jìn)行數(shù)據(jù)脫敏,會(huì)有數(shù)據(jù)泄露的風(fēng)險(xiǎn),請(qǐng)謹(jǐn)慎選擇
  • 動(dòng)態(tài)脫敏不支持的語(yǔ)法:嵌套子查詢(xún)、部分非單字段函數(shù),如concat(phone,’,’)、max(id+num)

DATA_MASKING: 是否開(kāi)啟動(dòng)態(tài)脫敏,會(huì)利用inception語(yǔ)法樹(shù)打印,結(jié)合后臺(tái)設(shè)置的脫敏字段和脫敏規(guī)則,對(duì)查詢(xún)數(shù)據(jù)進(jìn)行脫敏。遇到無(wú)法解析的語(yǔ)句是報(bào)錯(cuò)還是返回未脫敏的數(shù)據(jù)同樣由QUERY_CHECK參數(shù)控制 * 正常脫敏:

開(kāi)啟QUERY_CHECK后執(zhí)行不支持語(yǔ)句

關(guān)閉QUERY_CHECK后執(zhí)行不支持語(yǔ)句

  • MAX_EXECUTION_TIME: 在線(xiàn)查詢(xún)超時(shí)時(shí)間閾值,單位秒,默認(rèn)60,超時(shí)的語(yǔ)句會(huì)被終止并返回提示信息,目前僅支持MySQL 
  • ADMIN_QUERY_LIMIT: 超級(jí)管理員的查詢(xún)限制行數(shù),超級(jí)管理員查詢(xún)數(shù)據(jù)時(shí)不做權(quán)限校驗(yàn),僅由該參數(shù)設(shè)置最大行數(shù)

5.3 SQL優(yōu)化

配置項(xiàng)說(shuō)明
SQLADVISOR_PATHSQLAdvisor的可執(zhí)行文件路徑,路徑需要完整,docker鏡像內(nèi)已經(jīng)集成 * 1.4.0以前的docker版本配置成/opt/sqladvisor * 1.4.0以以后的docker版本配置成 /opt/archery/src/plugins/sqladvisor
SOAR_PATHSOAR的可執(zhí)行文件路徑,路徑需要完整,docker鏡像內(nèi)已經(jīng)集成,docker鏡像內(nèi)已經(jīng)集成 * 1.4.0以前的docker版本配置成/opt/soar * 1.4.0以以后的docker版本配置成 /opt/archery/src/plugins/soar

5.4 其他配置

配置項(xiàng)說(shuō)明
INDEX_PATH_URL系統(tǒng)首頁(yè)路徑,默認(rèn)是SQL工單頁(yè)面
BINLOG2SQLBINLOG2SQL調(diào)用路徑,用于實(shí)現(xiàn)binlog2sql解析的功能,docker鏡像內(nèi)已經(jīng)集成 * docker部署請(qǐng)配置為 /opt/archery/src/plugins/binlog2sql/binlog2sql.py
DEFAULT_AUTH_GROUP默認(rèn)權(quán)限組名,新用戶(hù)首次登錄自動(dòng)關(guān)聯(lián), 老用戶(hù)請(qǐng)手動(dòng)配置
DEFAULT_RESOURCE_GROUP默認(rèn)資源組名,新用戶(hù)首次登錄自動(dòng)關(guān)聯(lián), 老用戶(hù)請(qǐng)手動(dòng)配置
DEFAULT_RESOURCE_GROUP默認(rèn)資源組名,新用戶(hù)首次登錄自動(dòng)關(guān)聯(lián), 老用戶(hù)請(qǐng)手動(dòng)配置
LOCK_TIME_THRESHOLD賬戶(hù)登錄失敗鎖定時(shí)間(秒)
LOCK_CNT_THRESHOLD賬戶(hù)登錄失敗幾次鎖賬戶(hù)
SIGN_UP_ENABLED是否開(kāi)啟注冊(cè)功能,關(guān)閉后將無(wú)法自主注冊(cè)用戶(hù)

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論