Advertisement

正式环境docker部署hyperf_基于docker环境一键部署Yearning sql审核平台

阅读量:

概述

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

环境:

复制代码
    os:CentOS Linux release 7.4.1708 (Core)docker:Docker version 19

一、环境准备

1、关闭防火墙

复制代码
    systemctl stop firewalldsystemctl disable firewalld

2、关闭selinux

复制代码
    setenforce 0sed -i 's/enforcing/diabled/g' /etc/selinux/config

3、配置yum

复制代码
    for i in /etc/yum.repos.d/*.repo;do cp $i ${i%.repo}.bak;donerm -rf /etc/yum.repos.d/*.repowget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/Centos-7.repo >/dev/null 2>&1yum clean all && yum makecache
06a6fb843218b5a1b1ebc783bd5fd364.png

二、准备docker环境

1、卸载老的docker

复制代码
    yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
9a6967b23eded52cbf76ab1bfe2801da.png

2、安装依赖包

复制代码
    yum install -y yum-utils device-mapper-persistent-data lvm2

4bb34a4e30b8454efed838455d14e552.png
052fb971295274c329e835c9b9279bd6.png

3、新增docker稳定版源

复制代码
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
277216fdb684c8f6ac93cc822cdb5195.png

4、安装docker

复制代码
    yum install docker-ce docker-ce-cli containerd.io -y

d0957adfff9075e712e9e98e22f6663d.png
d1c91fa5b6ed7c2d5b995f102bf7b809.png

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-composechmod +x /usr/local/bin/docker-compose
4ccd8883eb589b7e49534e490445e8b4.png

ps:docker和compose兼容性
8caad75e10af98d2fbc25497ed0e9c91.png

6、启动docker

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


三、准备mysql环境

1、yum安装

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

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

6095b2cfc3259dec2d7e8d6091ef0654.png
67c8490777ca53890dade4d2be53ab68.png

2、创建库

复制代码
    #grep "password" /var/log/mysqld.log #mysql -uroot -pmysql> 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;
3b9bb0570ab4a8d4011a2d784894e01a.png

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.zipunzip Yearning-2.1.0.linux-amd64.zip -d Yearning
d9408ab39364001bf51dd68b47ab0971.png

3、容器化

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

复制代码
    docker build -t yearning/v2.1 .

e3c64e5ef481dbb56dac2098d5414c28.png
42ff58833fd4c34c0203946f3b2ec0ce.png

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
70af3ff56b5786c4a8b986602d9ce04f.png

报错处理:
5c6d2ef0cf9978075a410a58496da367.png

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


四、 Yearning维护

1、启停

复制代码
    docker start/stop yearning
0e0502ebc93bbec898473c6694bf239a.png

2、查看容器日志

复制代码
    docker logs -f yearning
308a573e16f73803df4cf8304dea21bf.png

第二次启动容器:
7da3bc1e91e3c7cf438187bd8c86519a.png

3、 Yearning访问

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

初始账号:admin / Yearning_admin

数据库访问:mysql -h宿主机IP -P3306 -uroot -p
1e105b6f7e37a7709dbd201a04b684cd.png
116a9eb4c2b8aefe28774d434561713e.png


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

全部评论 (0)

还没有任何评论哟~