一、Yearning简介

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

  • Yearning 1.x版本需inception提供SQL审核及回滚功能。
  • Yearning 2.0开始无需依赖Inception,已自己实现了SQL审核/回滚功能
      本文版本为Yearning2.2.0。

二、安装

下载地址

https://github.com/cookieY/Yearning/releases/download/v2.2.0/Yearning-2.2.0.linux-amd64.zip

注意事项

  • Yearning 不依赖于任何第三方SQL审核工具作为审核引擎,内部已自己实现审核/回滚相关逻辑。
  • 仅依赖Mysql数据库。
  • mysql版本必须5.7及以上版本,请事先自行安装完毕且创建Yearning库,字符集应为UTF8mb4 (仅Yearning所需mysql版本)
  • Yearning日志仅输出error级别,没有日志即可认为无运行错误!
  • Yearning 基于1080p分辨率开发仅支持1080p及以上显示器访问
  • 由于使用较多新的前端技术栈,请使用Chrome最新版本(不包括360等其他魔改版本)
    安装步骤
unzip Yearning-2.2.0.linux-amd64.zip -d /usr/local/
cd /usr/local/Yearning-go/cat conf.toml
[Mysql]
Db = "Yearning"
Host = "127.0.0.1"
Port = "3306"
Password = "Yearning"
User = "Yearning"[General]  #数据库加解密key,只可更改一次。
SecretKey = "dbcjqheupqjsuwsm"
SecretKey是token/数据库密码加密/解密的salt。
建议所有用户在初次安装Yearning之前将SecretKey更改(不更改将存在安全风险)
格式: 大小写字母均可, 长度必须为16位
特别注意:
此key仅可在初次安装时更改!之后不可再次更改!如再次更改会导致之前已存放的数据源密码无法解密,最终导致无法获取相关数据源信息
# ./Yearning -h
version: Yearning/2.2.0 author: HenryYee
Usage: Yearning [-m migrate] [-p port] [-s start] [-b web-bind] [-h help] [-c config file]Options:-s  启动Yearning-m  数据初始化(第一次安装时执行)-p  端口-b  钉钉/邮件推送时显示的平台地址-x  表结构修复,升级时可以操作。如出现错误可直接忽略。-h  帮助-c  配置文件路径-k  用户权限变更为权限组(2.1.7以下升级至2.1.7及以上使用)-f  初始化Admin用户密码##初始化数据结构
./Yearning -m(/var/jenkins_home/workspace/Yearning-go/src/service/migrate.go:31)
[2020-03-01 18:17:10]  [0.47ms]  INSERT  INTO `core_accounts` (`username`,`password`,`rule`,`department`,`real_name`,`email`) VALUES ('admin','pbkdf2_sha256$120000$KMXHZJuaiVKW$EQ1XMcuApgEb6ysj6l9bOGzaVo+s/AGO13uOcNxpDD0=','admin','DBA','超级管理员','')
[1 rows affected or returned ] (/var/jenkins_home/workspace/Yearning-go/src/service/migrate.go:39)
[2020-03-01 18:17:10]  [0.80ms]  INSERT  INTO `core_global_configurations` (`authorization`,`ldap`,`message`,`other`,`stmt`,`audit_role`) VALUES ('global','{"url":"","user":"","password":"","type":1,"sc":"","ldaps":false}','{"web_hook":"","host":"","port":25,"user":"","password":"","to_user":"","mail":false,"ding":false,"ssl":false}','{"limit":"1000","idc":["Aliyun","AWS"],"multi":false,"query":false,"exclude_db_list":[],"insulate_word_list":[],"register":false,"export":false,"per_order":2,"ex_query_time":60,"query_timeout":0}',0,'{"DMLInsertColumns":false,"DMLMaxInsertRows":10,"DMLWhere":false,"DMLOrder":false,"DMLSelect":false,"DDLCheckTableComment":false,"DDlCheckColumnComment":false,"DDLCheckColumnNullable":false,"DDLCheckColumnDefault":false,"DDLTimeFieldDefault":false,"DDLEnableAcrossDBRename":false,"DDLEnableAutoincrementInit":false,"DDLEnableAutoIncrement":false,"DDLEnableAutoincrementUnsigned":false,"DDLEnableDropTable":false,"DDLEnableDropDatabase":false,"DDLEnableNullIndexName":false,"DDLIndexNameSpec":false,"DDLMaxKeyParts":5,"DDLMaxKey":5,"DDLMaxCharLength":10,"MaxTableNameLen":10,"MaxAffectRows":1000,"MaxDDLAffectRows":0,"EnableSetCollation":false,"EnableSetCharset":false,"SupportCharset":"","SupportCollation":"","CheckIdentifier":false,"MustHaveColumns":"","DDLMultiToSubmit":false,"DDLPrimaryKeyMust":false,"DDLAllowColumnType":false,"DDLImplicitTypeConversion":false,"DMLMinimalRollback":false,"DDLAllowPRINotInt":false,"IsOSC":false,"OscBinDir":"","OscDropNewTable":false,"OscDropOldTable":false,"OscCheckReplicationFilters":false,"OscCheckAlter":false,"OscAlterForeignKeysMethod":"rebuild_constraints","OscMaxLag":1,"OscRecursionMethod":"processlist","OscCheckInterval":1,"OscMaxThreadConnected":25,"OscMaxThreadRunning":25,"OscCriticalThreadConnected":20,"OscCriticalThreadRunning":20,"OscPrintSql":false,"OscChunkTime":0.5,"OscSize":0,"AllowCreateView":false,"AllowCreatePartition":false,"AllowSpecialType":false}')
[1 rows affected or returned ] (/var/jenkins_home/workspace/Yearning-go/src/service/migrate.go:46)
[2020-03-01 18:17:10]  [0.62ms]  INSERT  INTO `core_graineds` (`username`,`rule`,`permissions`,`group`) VALUES ('admin','','{"ddl":"1","ddl_source":[],"dml":"1","dml_source":[],"user":"1","base":"1","auditor":[],"query":"1","query_source":[]}',NULL)
[1 rows affected or returned ]
初始化成功!用户名: admin
密码:Yearning_admin
##启动服务./Yearning -s
检查更新.......
数据已更新!__    __  _____       ___   _____    __   _   _   __   _   _____
\ \  / / | ____|     /   | |  _  \  |  \ | | | | |  \ | | /  ___| \ \/ /  | |__      / /| | | |_| |  |   \| | | | |   \| | | |     \  /   |  __|    / / | | |  _  /  | |\   | | | | |\   | | |  _  / /    | |___   / /  | | | | \ \  | | \  | | | | | \  | | |_| | /_/     |_____| /_/   |_| |_|  \_\ |_|  \_| |_| |_|  \_| \_____/  vgolang.verWelcome to Yearning
https://yearning.io
____________________________________O/_______O\
⇨ http server started on [::]:8000
#注意端口开放

三、基本使用

  首先当然是登陆界面,登陆的默认账号密码在初始化的时候已经提示:用户名: admin密码:Yearning_admin。Yearning推荐使用Chrome浏览器。

  进来后是首页,首页中可以看到当前的用户数、数据源、工单数、查询数、个人信息、工单提交统计、高频库、以及工单趋势。

  在我的工单界面可以看到历史的工单,执行状态,执行信息,是否备份等等。。

  工单提交界面分为DDL/DML,错误级别非0均为异常,如果没有设置定时执行的话工单会在审批后自动执行!


  在查询界面执行查询SQL,其他SQL无法执行,SQL默认会有limit限制。

  在审核界面可以看到待审核的工单,以及审核过的工单。


  在记录界面可以看到历史的工单和查询审计。

  在管理界面的用户一栏配置用户。

  在数据库一栏配置数据源以及读写规则。

  在用户权限界面为用户分配权限组来赋予指定权限。

  在权限组界面设置N个权限组以对应不同的角色。

  在设置界面可以设置消息推送(钉钉、邮件)以及LDAP。

  在审核规则界面可以设置审核规则,还是蛮丰富的。

  在AutoTask界面设置AutoTask。

  在公告界面设置群体公告。

参考文档:https://guide.yearning.io/

Yearning 开源SQL审核平台安装使用相关推荐

  1. Yearning 介绍(SQL审核平台)

    介绍 Yearning SQL 审计平台 基于Vue.js与Django的整套mysql-sql审核平台解决方案.提供基于Inception的SQL检测及执行. GitHub:https://gith ...

  2. Docker Yearning + Inception SQL审核平台搭建

    [一]安装 [1.1]系统环境 系统环境:CentOS Linux release 7.6.1708 (Core) 系统内存:4G 系统内核:1 Python:3.6.4 关闭iptables and ...

  3. 开源mysql数据库审计工具_Yearning基于Inception的开源SQL审核平台(数据库审计)

    基础环境: python3 nodejs vuejs mysql python-ldap pymysql mysql 新建数据库 create database Yearning DEFAULT CH ...

  4. Yearning SQL审核平台部署与使用 详细步骤【生产环境】

    文章目录 前言 版本选择 一.数据库环境准备 1.卸载自带的mysql源 2.安装mysql-5.7.38 3.登录数据库并设置密码策略修改默认密码 4.创建Yearning要使用的数据库 二.部署Y ...

  5. sql 修改时间戳语句_从 0 到 1 搭建技术中台之 SQL 审核平台

    背景 随着伴鱼业务的快速发展,公司各产品线的业务不断丰富,日常的 SQL 上线也在不断增加.SQL 审核与执行,作为 DBA 每天工作中相当重要的一环,如何保证 SQL 语句的质量,对于系统的高效运行 ...

  6. 开源mysql web平台_Yearning Mysql–Web端SQL审核平台

    介绍 Yearning MYSQL 是一个SQL语句审核平台.提供查询审计,SQL审核等多种功能,支持Mysql,可以在一定程度上解决运维与开发之间的那一环,功能丰富,代码开源,安装部署容易! 开源地 ...

  7. SQL审核平台-Yearning部署与使用

    SQL审核平台Yearning部署 Yearning优势: Yearning SQL 审计平台 基于Vue.js与Django的整套mysql-sql审核平台解决方案.提供基于Inception的SQ ...

  8. Linux系统之部署Yearning SQL审核平台

    这里写目录标题 一.Yearning介绍 1.1 Yearning简介 1.2 Yearning特点 1.3 Yearning功能 二.本地环境介绍 2.1 本地环境规划 2.2 本次实践介绍 三.检 ...

  9. Yearning v1.4.2 发布,SQL审核平台

    Yearning SQL审核平台 v1.4.2发布了. Yearning 是基于inception的web端SQL审核平台,可为dba提供流程化规范化的SQL提交流程.具有审核,审计,查询,多权限划分 ...

最新文章

  1. python 之属性_Python之对象的属性
  2. HDU3496-Watch The Movie
  3. MyEclipse 清理项目缓存的几大方法
  4. Spring Cloud Feign 负载均衡
  5. 新版本阿里云网站的云服务器添加安全组规则
  6. python split返回类型_python的数据类型
  7. Linux学习笔记-动态库的使用
  8. HttpInvoker-----客户端实现
  9. git解决 “fatal: Could not read from remote repository.“
  10. @GeneratedValue不能使属性自增长
  11. Spring Cloud 应用篇 之 Spring Cloud Stream(消息驱动)
  12. Unity移动物体时,当接近目的地时自动吸附
  13. 【优化算法】人工蜂鸟算法(AHA)【含Matlab源码 1543期】
  14. 语音识别(Speech Recognition)
  15. 自助装机配置专家点评3
  16. Error: unconverted data remains: AM 解决方法
  17. 想学3dmax应该怎么学?
  18. 走近计算机,走进二进制,爪哇国的诞生
  19. C#绘制GPS星空图
  20. 前端JavaScript的学习笔记

热门文章

  1. 小程序实现天/时/分/秒倒计时效果
  2. Cascade Rcnn 的简单理解
  3. 什么是灰度测试?为什么要灰度测试?有什么意义?
  4. Linux内存比实际小,为什么Linux显示的内存比我实际安装的内存多?
  5. 我今天就带大家了解一下共享WiFi项目,为什么如此的受大家喜爱,以及它闪亮的地方在哪.
  6. bbz10 android,苹果安卓审美疲劳重 淘回黑莓Z10体验
  7. 欧式距离与马氏距离比较
  8. 官方活动:百度网盘VIP会员98天
  9. 电子笔记本的思考(1)(ver0.2)
  10. 人们为什么都喜欢大屏手机