Yearning SQL审核平台

2,049 阅读2分钟

前言

由于开发的持续迭代,就修改SQL,从测试到预发布再到线上,由于开发人员查询以及修改数据库的权限问题,我们就需要一个平台来维护。

查询
修改

什么是Yearning?

Yearning MYSQL SQL语句审核平台。提供查询审计,SQL审核等多种功能

部署Yesarning

非docker安装Yesarning

  • 创建目录
mkdir -p /opt/Yearning/mysql/
  • 安装mysql5.7
version: '3.3'

services:
  Yearning_mysql:
    environment:
        MYSQL_ROOT_PASSWORD: 123456
    image: mysql:5.7
    restart: always
    volumes:
        - /opt/Yearning/mysql/config/:/etc/mysql/
        - /opt/Yearning/mysql/data/:/var/lib/mysql/
    ports:
        - 9522:3306
    container_name: Yearning_mysql
  • 启动数据库

字符集应为UTF-8/UTF8mb4 (仅Yearning所需mysql版本)

# 启动mysql
docker-compose up -d
# 测试创建数据库
create database Yearning default character set utf8 collate utf8_general_ci;
  • 安装Yesarning
    • 下载Yesarning

cd mkdir -p /opt/Yearning/
wget https://github.com/cookieY/Yearning/releases/download/v2.1.1/Yearning-2.1.1.linux-amd64.zip
# 解压
unzip Yearning-2.1.1.linux-amd64.zip
  • 修改配置文件

SecretKey值一定要超过16位并且必须修改,否则报错

cd Yearning-go && vim  conf.toml
[Mysql]
Db = "Yearning"
Host = "127.0.0.1"
Port = "9522"
Password = "123456"
User = "root"

[General]
SecretKey = "abcasdadajldasdahdjad"
  • 初始化Yearning并启动
./Yearning -m
# 无任何报错即可,这里不修改数据库字符集应为UTF-8/UTF8mb4会爆错
./Yearning -s  -p "8088"
  • 后台启动
nohup ./Yearning -s  -p "8088" &

启动

  • web验证
    • 默认密码:admin/Yearning_admin
      登陆
      主页面

docker 安装

  • 上述下载的安装包中有Dockerfile
FROM alpine:latest

LABEL maintainer="HenryYee-2019/08/13"

EXPOSE 8000

COPY Yearning  /opt/Yearning
COPY dist /opt/dist
COPY conf.toml /opt/conf.toml

RUN mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2
RUN echo "http://mirrors.ustc.edu.cn/alpine/v3.3/main/" > /etc/apk/repositories
RUN apk add --no-cache tzdata
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "Asia/Shanghai" >> /etc/timezone
RUN echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf

WORKDIR /opt

ENTRYPOINT  ["/opt/Yearning"]

CMD ["-m", "-s"]

  • 执行
docker build -t test/yearning:v2.1.1 . 
docker run -d -it -p8088:8000 -e MYSQL_USER=root -e MYSQL_ADDR=127.0.0.1:9522 -e MYSQL_PASSWORD=123456 -e MYSQL_DB=Yearning test/yearning

参考文献

官方链接 安卓使用教程

后话

  • 该平台存在一些不稳定的现象,有没有类似平台可以推荐。
  • sql频繁的交付,如何确保高效率高质量