Yearning MYSQL SQL语句审核平台。提供查询审计,SQL审核等多种功能
Mysql安装
mysql 版本必须5.7及以上版本,请事先自行安装完毕且创建 Yearning 库,字符集应为 UTF8mb4 (仅 Yearning 所需 mysql 版本)
参考: 安装Mysql
Yearning 镜像构建
Yearning-go 提供二进制下载包
下载地址 https://github.com/cookieY/Yearning/releases
下载二进制包, 使用自带的dockerfile构建镜像,作者dockerfile中安装源3.1.2写错了需要改成3.12的,否则会构建失败。
更改conf.toml
SecretKey 是 token/数据库密码加密/解密的 salt。
建议所有用户在初次安装 Yearning 之前将 SecretKey 更改(不更改将存在安全风险)
格式: 大小写字母均可, 长度必须为 16 位 如长度不是16位将会导致无法新建数据源
特别注意:
此 key 仅可在初次安装时更改!之后不可再次更改!如再次更改会导致之前已存放的数据源密码无法解密,最终导致无法获取相关数据源信息
[General] #数据库加解密key,只可更改一次。
SecretKey = "dbcjqheupqjsuwsm"
构建并推送镜像仓库
# 构建镜像
docker build -t anonym0x1/yearning:2.2.2 .
# 推送
docker push anonym0x1/yearning:2.2.2
K8S部署yaml
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: yearning
name: yearning
namespace: prd
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app: yearning
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
labels:
app: yearning
spec:
containers:
- env:
- name: MYSQL_ADDR
value: '192.168.0.2:3306'
- name: MYSQL_USER
value: root
- name: MYSQL_PASSWORD
value: Mysqlpasswd
- name: MYSQL_DB
value: Yearning
image: 'anonym0x1/yearning:2.2.2'
imagePullPolicy: IfNotPresent
name: yearning
ports:
- containerPort: 8000
name: yearning
protocol: TCP
resources:
limits:
cpu: '1'
memory: 2Gi
requests:
cpu: 500m
memory: 500Mi
restartPolicy: Always
schedulerName: default-scheduler
terminationGracePeriodSeconds: 30
---
apiVersion: v1
kind: Service
metadata:
labels:
app: yearning
name: yearning
namespace: prd
spec:
ports:
- name: http-8000
nodePort: 38000
port: 8000
protocol: TCP
targetPort: 8000
selector:
app: yearning
sessionAffinity: None
type: NodePort
使用env 变量注入参数,程序启动会先读。再使用Nodeport暴露控台地址
登录后台
浏览器: http://节点ip: 38000
默认账号/密码:admin/Yearning_admin