docker-compose部署加使用Yearning-SQL审核平台

docker-compose-实验测试yearning

创建mysql数据库-要求5.7版本的

创建当前mysql的配置文件还有目录,项目文件如下图

image-20220708102955642

image-20220708103407293

docker-compose.yml

version: '3.3'
services:
    mysql:
        image: 'daocloud.io/library/mysql:5.7.7'
        container_name: mysql-5.7.7
        # network_mode:'bridge'
        environment: 
            MYSQL_ROOT_PASSWORD: 'Aa123456'
            MYSQL_USER: 'fmi110'
            MYSQL_PASS: 'Aa123456'
        # env_file: 
        #     - ./env/mysql.env
        restart: on-failure
        volumes: 
            - ./data:/var/lib/mysql
            - ./config/my.cnf:/etc/my.cnf
            - ./init:/docker-entrypoint-initdb.d/
        ports: 
            - '3307:3306'
        # depends_on:
        #     - xxx

image-20220708103159221

配置文件说明
说明:
services.mysql.image: 指定mysql镜像的版本
services.mysql.environment: 环境变量
MYSQL_ROOT_PASSWORD:必须,指定root用户的密码
MYSQL_USER、MYSQL_PASS 新建用户并指定密码,可选。
services.mysql.volumes: 数据卷挂载,将本地主机的目录,映射成容器里对应的目录
./data:/var/lib/mysql :mysql的数据存储到当前目录的 data目录下
./config/my.cnf:/etc/my.cnf :指定加载mysql的配置文件为当前目录的 config/my.cnf 文件
./init:/docker-entrypoint-initdb.d/ :容器初始化时,执行 init目录下的mysql脚本
services.mysql.ports: 指定端口映射,这里本地主机的 3307 映射到容器的3306端口,则外部连接数据库的url为 jdbc:mysql://localhsot:3307/xxxxx

mysql配置文件my.cnf

[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

image-20220708103507924

初始脚本

-- GRANT ALL privileges on *.* TO 'root'@'%';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native-pasword BY 'Aa123456';


授权 root 用户可以远程链接,因为是脚本要给执行权限

root@192:/data/mysql# cd init/
root@192:/data/mysql/init# ls
init.sql
root@192:/data/mysql/init# chmod +x init.sql 

image-20220708103642806

执行命令

进入docker-compose.yml文件所在目录,执行如下命令

docker-compose up

image-20220708110134425

使用镜像的说明地址:

https://link.juejin.cn/?target=https%3A%2F%2Fdashboard.daocloud.io%2Fpackages%2Ffa51c1d6-9dc2-49d9-91ac-4bbfc24a1bda

image-20220708110229989

上面也是一种方法,但是我没有启动起来,没有找到原因在哪里

第二种方法

采用大佬文章
https://www.cnblogs.com/haima/p/13649336.html

新建一个启动服务的目录

mkdir /data/mysql5.7
cd /data/mysql5.7

二.新建文件docker-compose.yml

注意:文件名字必需是docker-compose.yml

version: '3.8'
services:
  mysql:
    container_name: mysql57
    image: mysql:5.7.31
    restart: always
    ports:
      - 3307:3306
    privileged: true
    volumes:
      - $PWD/mysql57/log:/var/log/mysql 
      - $PWD/mysql57/conf/my.cnf:/etc/mysql/my.cnf
      - $PWD/mysql57/data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: "123456"
      MYSQL_USER: 'haima'
      MYSQL_PASS: '123456'
    command: [
        '--character-set-server=utf8mb4',
        '--collation-server=utf8mb4_general_ci',
        '--max_connections=3000'
    ]
    networks:
      - myweb

networks:

  myweb:
    driver: bridge

image-20220708112802565

三.新建角本文件 init-mysql.sh

#!/bin/bash
mkdir -p $PWD/mysql57/{conf,data,log}  #创建本地文件夹


#新建配置文件
tee $PWD/mysql57/conf/my.cnf<<-'EOF'
[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
lower_case_table_names=1 #实现mysql不区分大小(开发需求,建议开启)
# By default we only accept connections from localhost
#bind-address   = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
default-time_zone = '+8:00'

# 更改字符集 如果想Mysql在后续的操作中文不出现乱码,则需要修改配置文件内容
symbolic-links=0
character-set-server=utf8mb4
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4

EOF

image-20220708112835673

四.实使化目录和配置文件

[root@centos7 mysql]# chmod +x init-mysql.sh docker-compose.yml  #加执行权限
[root@centos7 mysql]# ./init-mysql.sh   创建
[root@centos7 mysql]# bash  init-mysql.sh   创建
[root@centos7 mysql]# tree ./  #查看目结构
./
├── docker-compose.yml
├── init-mysql.sh
└── mysql57
    ├── conf
    │   └── my.cnf
    ├── data
    └── log

image-20220708113111827

启动服务

docker-compose up -d

image-20220708113206830

此时服务已经启动成功了.使用角本是不是很爽,嘿嘿…

登陆mysql

docker exec -it mysql57 mysql -uroot -p123456

image-20220708113258017登陆navicat-登陆你刚才的数据库

说一下需求,因为我这里是需要我们华为与上面的数据库,做Yearning-sql审核我把华为云上面的数据库-把里面的库拷贝了几个库,拿到我测试环境的mysql上面做实验

image-20220708133253209

创建一个库跟需要导入的库名称一样

image-20220708133921867

复制其他数据库的库

image-20220708134016064

传输中

image-20220708134200003

创建yearning审核

因为我是本地数据库,我这里就直接容器使用本地数据库
创建数据库
CREATE DATABASE Yearning CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
grant all on Yearning.* to 'yearning'@'%' identified by 'sMHcsff32wUv38';

image-20220708135422457

加载镜像
root@192:/# docker load -i yearning.tar
eb4bde6b29a6: Loading layer [==================================================>]  5.876MB/5.876MB
21b671aaac70: Loading layer [==================================================>]  22.47MB/22.47MB
96f46b88d808: Loading layer [==================================================>]   2.56kB/2.56kB
10df96ef7e05: Loading layer [==================================================>]  2.185MB/2.185MB
Loaded image: test/yearning:latest

image-20220708140011454

启动容器
docker run -d \
  --name yearning \
  --restart always \
  -p 8000:8000 \
  -e MYSQL_USER=yearning \
  -e MYSQL_ADDR=xxxxx:3306 \
  -e MYSQL_PASSWORD=sMHcsff32wUv38 \
  -e MYSQL_DB=Yearning \
  -e TZ="Asia/Shanghai" \
  test/yearning:latest

image-20220708140119524

访问yearning

http://xxxxxxx:8000/#/login

查看容器日志是成功的

docker logs  容器id

image-20220708140537489

正常登陆

image-20220708140737857

首先添加数据源

登陆本地的mysql数据库,使用root用户创建一个数据库,然后授权用户对这个库有权限
mysql  -uroot -p123456
mysql> grant all on bin.* to 'yearning'@'%' identified by '123456';

image-20220708141923631

web页面添加数据库

image-20220708142108559

创建用户

操作人,操作人就是审核其他员工提交的工单
账号  aike
密码 Aike@11

image-20220708142707785

创建提交人,提交人员就是负责数据库的增删改查,创库创表-提交表单
账号  daxia
密码  Daxia@11

image-20220708143131975

打开管理-权限组,勾选数据库

权限组这里设置,对那个库有那些权限,设置那个操作人员审核表单

image-20220708145237471

打开管理-流程模板

image-20220708143645448

打开管理-审核规则,按照企业要求设定审核条件

image-20220708143726540

设置完毕需要给用户授权数据库

image-20220708143850635

模拟用户提交工单

用户使用管理员分配的用户名和密码登录

image-20220708144118804

工单提交

image-20220704132948727

image-20220708145551923

提交工单

CREATE TABLE aike
    ( job_id         INTEGER NOT NULL PRIMARY KEY
    , job_title      VARCHAR(50) NOT NULL
    ) ;

image-20220708145816260

我的工单查看详情

image-20220708150000314

切换管理员进行审核

image-20220708150129778

查看一下工单详情

image-20220708150218328

审核工单

image-20220708150429761

执行工单

image-20220708150449294

查看到数据库中的表

image-20220708150541089

查看表结构

img-RI5f6i0l-1657263999673)]

我的工单查看详情

[外链图片转存中…(img-0ZsCszwo-1657263999674)]

切换管理员进行审核

[外链图片转存中…(img-Ipx0ORnr-1657263999674)]

查看一下工单详情

[外链图片转存中…(img-mKzDLTgH-1657263999674)]

审核工单

[外链图片转存中…(img-VTD4MQE6-1657263999675)]

执行工单

[外链图片转存中…(img-cODOQoW2-1657263999675)]

查看到数据库中的表

[外链图片转存中…(img-Cr6bwcAS-1657263999675)]

查看表结构

image-20220708150603412

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值