余晖落尽暮晚霞,黄昏迟暮远山寻
本站
当前位置:网站首页 > 编程知识 > 正文

超详细的Yearning sql审核平台docker化布署

xiyangw 2023-05-14 11:15 12 浏览 0 评论

概述

今天主要分享一个开源的MYSQL数据库SQL语句审核平台--Yearning,提供数据库字典查询,查询审计,SQL审核等多种功能。下面基于docker环境来部署。

环境:

超详细的Yearning sql审核平台docker化布署

os:CentOS Linux release 7.4.1708 (Core)
docker:Docker version 19

一、环境准备

1、关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

2、关闭selinux

setenforce 0
sed -i 's/enforcing/diabled/g' /etc/selinux/config 

3、配置yum

for i in /etc/yum.repos.d/*.repo;do cp $i ${i%.repo}.bak;done
rm -rf /etc/yum.repos.d/*.repo
wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/Centos-7.repo >/dev/null 2>&1
yum clean all && yum makecache


二、准备docker环境

1、卸载老的docker

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

2、安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

3、新增docker稳定版源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4、安装docker

yum install docker-ce docker-ce-cli containerd.io -y

5、下载docker-compose(这部分其实不用)

curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

ps:docker和compose兼容性

6、启动docker

systemctl start/stop docker ## 启动后才能继续后面的Yearning安装


三、准备mysql环境

1、yum安装

下载地址:https://dev.mysql.com/downloads/repo/yum/

--CentOS7中默认安装有MariaDB,这个是MySQL的分支,但建议还是在系统中安装MySQL
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum install mysql-community-server -y

2、创建库

#grep "password" /var/log/mysqld.log 
#mysql -uroot -p
mysql> set global validate_password_policy=0;
mysql> alter user 'root'@'localhost' identified by 'xxxx';
mysql> create database Yearning DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

3、授权

grant all privileges on *.* to root@'%' identified by 'xxxx';

三、Yearning安装

1、注意

  • Yearning 不依赖于任何第三方SQL审核工具作为审核引擎,内部已自己实现审核/回滚相关逻辑。
  • 仅依赖Mysql数据库。
  • mysql版本必须5.7及以上版本,请事先自行安装完毕且创建Yearning库,字符集应为UTF-8/UTF8mb4 (仅Yearning所需mysql版本)
  • Yearning日志仅输出error级别,没有日志即可认为无运行错误!
  • Yearning 基于1080p分辨率开发仅支持1080p及以上显示器访问
  • 由于使用较多新的前端技术栈,请使用Chrome最新版本(不包括360等其他魔改版本)

2、Yearning下载

Yearning-go提供二进制下载包

下载地址 https://github.com/cookieY/Yearning/releases

请选择最新版本 在Assets中选择 Yearning-x.x.x.linux-amd64.zip 包进行下载

由于部分闭源,源码无法直接编译 (二次开发问题,请前往二次开发页面查看)

wget https://github.com/cookieY/Yearning/releases/download/v2.1.0/Yearning-2.1.0.linux-amd64.zip
unzip Yearning-2.1.0.linux-amd64.zip -d Yearning

3、容器化

Yearning安装包内已含有Dockerfile文件,可直接进行build打包成镜像

docker build -t yearning/v2.1 . 

Yearning 从v2.0.4版本开始支持环境变量传参容器启动时可通过环境变量的方式传入数据库地址。

docker run -d -it --name yearning -p8001:8000 -p 3308:3306 -e MYSQL_USER=root -e MYSQL_ADDR=172.16.10.123:3306 \
 -e MYSQL_PASSWORD=xxxxxx -e MYSQL_DB=Yearning yearning/v2.1

报错处理:

解决:这里需要把127.0.0.1改为容器宿主IP。


四、 Yearning维护

1、启停

docker start/stop yearning

2、查看容器日志

docker logs -f yearning

第二次启动容器:

3、 Yearning访问

访问地址:http://宿主机IP:8001

初始账号:admin / Yearning_admin

数据库访问:mysql -h宿主机IP -P3306 -uroot -p


有一个sql审核平台还是很重要的,最起码也可以规范下语法,建议大家有空搭建试一下。后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

相关推荐

辞旧迎新,新手使用Containerd时的几点须知

相信大家在2020年岁末都被Kubernetes即将抛弃Docker的消息刷屏了。事实上作为接替Docker运行时的Containerd在早在Kubernetes1.7时就能直接与Kubelet集成使...

分布式日志系统ELK+skywalking分布式链路完整搭建流程

开头在分布式系统中,日志跟踪是一件很令程序员头疼的问题,在遇到生产问题时,如果是多节点需要打开多节点服务器去跟踪问题,如果下游也是多节点且调用多个服务,那就更麻烦,再者,如果没有分布式链路,在生产日志...

Linux用户和用户组管理

1、用户账户概述-AAA介绍AAA指的是Authentication、Authorization、Accounting,即认证、授权和审计。?认证:验证用户是否可以获得权限,是3A的第一步,即验证身份...

linux查看最后N条日志

其实很简单,只需要用到tail这个命令tail-100catalina.out输入以上命令,就能列出catalina.out的最后100行。...

解决linux系统日志时间错误的问题

今天发现一台虚拟机下的系统日志:/var/log/messages,文件时间戳不对,跟正常时间差了12个小时。按网上说的执行了servicersyslogrestart重启syslog服务,还是不...

全程软件测试(六十二):软件测试工作如何运用Linux—读书笔记

从事过软件测试的小伙们就会明白会使用Linux是多么重要的一件事,工作时需要用到,面试时会被问到,简历中需要写到。对于软件测试人员来说,不需要你多么熟练使用Linux所有命令,也不需要你对Linux...

Linux运维之为Nginx添加错误日志(error_log)配置

Nginx错误日志信息介绍配置记录Nginx的错误信息是调试Nginx服务的重要手段,属于核心功能模块(nginx_core_module)的参数,该参数名字为error_log,可以放在不同的虚机主...

Linux使用swatchdog实时监控日志文件的变化

1.前言本教程主要讲解在Linux系统中如何使用swatchdog实时监控日志文件的变化。swatchdog(SimpleWATCHDOG)是一个简单的Perl脚本,用于监视类Unix系统(比如...

syslog服务详解

背景:需求来自于一个客户想将服务器的日志转发到自己的日志服务器上,所以希望我们能提供这个转发的功能,同时还要满足syslog协议。1什么是syslog服务1.1syslog标准协议如下图这里的fa...

linux日志文件的管理、备份及日志服务器的搭建

日志文件存放目录:/var/log[root@xinglog]#cd/var/log[root@xinglog]#lsmessages:系统日志secure:登录日志———————————...

运维之日志管理简介

日志简介在运维过程中,日志是必不可少的东西,通过日志可以快速发现问题所在。日志分类日志分类,对不同的日志进行不同维度的分析。操作系统日志操作系统是基础,应用都是在其之上;操作系统日志的分析,可以反馈出...

Apache Log4j 爆核弹级漏洞,Spring Boot 默认日志框架就能完美躲过

这两天沸沸扬扬的Log4j2漏洞门事件炒得热火朝天:突发!ApacheLog4j2报核弹级漏洞。。赶紧修复!!|Java技术栈|Java|SpringBoot|Spring...

Linux服务器存在大量log日志,如何快速定位错误?

来源:blog.csdn.net/nan1996jiang/articlep/details/109550303针对大量log日志快速定位错误地方tail/head简单命令使用:附加针对大量log日志...

Linux中查看日志文件的正确姿势,求你别tail走天下了!

作为一个后端开发工程师,在Linux中查看查看文件内容是基本操作了。尤其是通常要分析日志文件排查问题,那么我们应该如何正确打开日志文件呢?对于我这种小菜鸡来说,第一反应就是cat,tail,vi(或...

分享几款常用的付费日志系统,献给迷茫的你!

概述在前一篇文章中,我们分享了几款免费的日志服务器。他们各有各的特点,但是大家有不同的需求,有时免费的服务器不能满足大家的需要,下面推荐几款付费的日志服务器。1.Nagios日志服务器Nagio...

取消回复欢迎 发表评论: