前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开源SQL审核查询平台Archery-基于docker安装

开源SQL审核查询平台Archery-基于docker安装

原创
作者头像
星哥玩云
发布2022-05-27 16:51:53
1.8K0
发布2022-05-27 16:51:53
举报
文章被收录于专栏:开源部署开源部署

开源SQL审核查询平台Archery-基于docker安装

一、Archery产品介绍

在技术团队内部进行有效的 SQL 管理并不容易,如何进行数据库的统一管理,和线上 SQL 操作的统一审核,变得尤为重要。Archery,这个开源的 SQL 审核查询平台,或许能为 SQL 审核工作带来不小的效率提升。

一条高质量的 SQL 语句能使整个服务加速好几倍,而一条有问题的 SQL 则可能会引发灾难,造成严重后果,因此,数据库管理人员的工作就十分重要了,他们掌握着千百万数据的命运。

简介

Archery,是 hhyo 在 Github 上开源的 SQL 审核查询平台,项目位于 https://github.com/hhyo/Archery,同时也在 Gitee 上开源,位于 https://gitee.com/rtttte/Archery

二、基于docker搭建Archery

1.服务器环境介绍

代码语言:javascript
复制
服务器:centos7 
IP: 192.168.1.12
4C-8G-4T

本文主要参考:https://archerydms.com/installation/docker/

2.安装docker

如果安装了可以跳过

代码语言:javascript
复制
wget https://gitee.com/funet8/centos6_LANP_dockerfile/raw/master/shell/CentOS6_7_intall_docker.sh
sh CentOS6_7_intall_docker.sh

3.安装docker-compose

如果安装了可以跳过

代码语言:javascript
复制
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
sudo chmod +x /usr/local/bin/docker-compose
​
/usr/local/bin/docker-compose -v
docker-compose version 1.24.1, build 4667896b

docker部署 https://archerydms.com/installation/docker/ 下载了 Archery-1.7.13 解压.

下载并且解压

代码语言:javascript
复制
wget https://github.com/hhyo/Archery/archive/v1.7.13.tar.gz
tar -zxvf v1.7.13.tar.gz
cd Archery-1.7.13/src/docker-compose/
ls
archery  docker-compose.yml  inception  mysql

4.安装并且docker启动

如果有端口占用,需要修改 docker-compose.yml 里的文件端口,但是需要修改配置,宿主机最好不要占用这些端口

代码语言:javascript
复制
# 启动
docker-compose -f docker-compose.yml up -d
​
生成了五个docker实例:redis inception archery goinception mysql
 
# 表结构初始化
docker exec -ti archery /bin/bash
cd /opt/archery
source /opt/venv4archery/bin/activate
python3 manage.py makemigrations sql  
python3 manage.py migrate 
​
# 数据初始化
python3 manage.py dbshell<sql/fixtures/auth_group.sql
python3 manage.py dbshell<src/init_sql/mysql_slow_query_review.sql
​
# 创建管理用户
python3 manage.py createsuperuser
​
# python3 manage.py createsuperuser
用户名: admin
电子邮件地址: star@xxxxxx.com
Password: 
Password (again): 
Superuser created successfully.
# exit
​
# 重启
docker restart archery
​
# 日志查看和问题排查
docker logs archery -f --tail=50

redis 端口:6379

mysql端口:3306

inception端口:6669

goinception端口:4000

archery端口:9123

代码语言:javascript
复制
# docker ps
CONTAINER ID        IMAGE                                          COMMAND                  CREATED             STATUS              PORTS                                                                              NAMES
e961c33a0726        redis:5                                        "docker-entrypoint..."   4 minutes ago       Up 3 minutes        6379/tcp                                                                           redis
dec2f8e330b7        hhyo/archery:1.7.13                            "dockerize -wait t..."   4 minutes ago       Up 3 minutes        0.0.0.0:9123->9123/tcp                                                             archery
ccaca4c8d420        mysql:5.7                                      "docker-entrypoint..."   4 minutes ago       Up 3 minutes        0.0.0.0:3306->3306/tcp, 33060/tcp                                                  mysql
5a7fc2e52484        hanchuanchuan/goinception                      "/usr/local/bin/du..."   4 minutes ago       Up 3 minutes        4000/tcp                                                                           goinception
16ef27ac1cee        hhyo/inception                                 "/bin/sh -c 'nohup..."   4 minutes ago       Up 3 minutes        6669/tcp                                                                           inception

三、基本操作

关闭docker服务

代码语言:javascript
复制
docker stop redis
docker stop inception
docker stop archery
docker stop goinception
docker stop mysql

删除docker容器(谨慎操作)

删除之后数据没有了

代码语言:javascript
复制
docker rm -f redis
docker rm -f inception
docker rm -f archery
docker rm -f goinception
docker rm -f mysql

访问

访问,http://192.168.1.12:9123/ 下一篇文章讲解如何配置Archery后台配置基本操作

四、角色权限

代码语言:javascript
复制
default
DBA		数据库管理员(Database Administrator,简称DBA)
RD  研发(Research and Development)
PM 项目经理( Project Manager )
QA 测试(QUALITY ASSURANCE,中文意思是“质量保证”)

工作流:
RD-->DBA-->CTO(审批)

工作流

功能说明

项目提供简单的多级审批流配置,审批流程和资源组以及审批类型相关,不同资源组和审批类型可以配置不同的审批流程,审批流程配置的是权限组,可避免审批人单点的问题

相关配置

在系统管理-配置项管理页面,可进行组工单审批流程的配置 对于SQL上线和SQL查询权限工单,如果用户拥有('sql_review', '审核SQL上线工单')、('sql_execute_for_resource_group', '执行SQL上线工单')、('query_review', '审核查询权限')权限,就可以查看到当前用户所在资源组的所有工单 工单待审核时,关联当前审批权限组、并且关联工单所在资源组的用户,均可查看审核工单(资源组隔离) 待办列表包含当前用户可审核的所有工单

image-20200908161641296
image-20200908161641296

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开源SQL审核查询平台Archery-基于docker安装
  • 一、Archery产品介绍
  • 二、基于docker搭建Archery
    • 1.服务器环境介绍
      • 2.安装docker
        • 3.安装docker-compose
          • 4.安装并且docker启动
          • 三、基本操作
            • 关闭docker服务
              • 删除docker容器(谨慎操作)
                • 访问
                • 四、角色权限
                  • 工作流
                    • 功能说明
                    • 相关配置
                相关产品与服务
                数据库
                云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档