作为DBA,你们还在人工审核SQL语句吗?程序员人工审核吃力,审核标准越多,有效落实越来越困难,效率不高。随着业务量的上升,人肉式的SQL审核一直是广大DBA的烦恼。今天就同大家分享一个SQL自动审核工具,帮助大家把DBA SQL审核的工作解放出来~

Yearning 是一款基于 Inception 的 Web可视化SQL审核平台,其本身只提供可视化交互页面并不具备 SQL审核的能力

必须搭配Inception一起使用。

Yearning目前支持的功能有:

Inception是由去哪儿网开源的一款数据库SQL审核工具,它可以实现工作远不止是一个自动化审核工具,同时还具备执行,生成对影响数据的回滚语句(类似闪回的功能),这样一条龙服务的工具,给DBA的工作带来翻天覆地的变化,将DBA从繁重的审核、登录执行,出错难回滚(如果提前没有备份的话)的被动局面解放了出来。

下面就两部分详细介绍SQL自动审核工具的部署

一、Inception安装

1.1 安装前的设置

1.1.1 linux系统版本及软件包

1、版本信息: CentOS 7 x8664 Inception2.1.50 for Linux on x8664 (Source distribution)

2、安装相关软件包

[root@localhost128 ~]# yum install -y cmake ncurses-devel openssl-devel bison-devel gcc-c++ MySQL-python
[root@localhost128 ~]#wget http://ftp.gnu.org/gnu/bison/bison-2.5.1.tar.gz
[root@localhost128 ~]#tar -xzvf bison-2.5.1.tar.gz
[root@localhost128 ~]# cd bison-2.5.1
[root@localhost128 ~]#./configure
[root@localhost128 ~]#make &&make install

1.1.2 安装mysql

1、配置mysql yum源

[root@localhost128 yum.repos.d]# cat mysql.repo
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

2、安装mysql

[root@localhost128 ~]#yum repolist enabled | grep mysql
[root@localhost128 ~]#yum install mysql-community-server
[root@localhost128 ~]#systemctl start mysqld.service
[root@localhost128 ~]#service mysqld status

3、配置用户并授权

[root@localhost128 yum.repos.d]# mysql -hlocalhost -uroot -P3307 -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 53
Server version: 5.7.26-log MySQL Community Server (GPL)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> grant all on *.* to root@'%' identified by 'Lkj2019#db' with grant option;
mysql> flush privileges;

1.1.3 安装 percona-toolkit (需要用到 pt-online-schema-change)

[root@localhost128 ~]#wget https://www.percona.com/downloads/percona-toolkit/3.0.12/binary/redhat/7/x86_64/percona-toolkit-3.0.12-1.el7.x86_64.rpm
[root@localhost128 ~]#rpm -ivh percona-toolkit-3.0.12-1.el7.x86_64.rpm

1.1.3 下载inceiption

[root@localhost128 ~]#wget https://github.com/weiyanwei412/SQLaudit/archive/master.zip
[root@localhost128 ~]#unzip master.zip
[root@localhost128 ~]#mv SQLaudit-master /opt/inception-master
[root@localhost128 ~]#cd /opt/inception-master

1.2 inception 编译安装

[root@localhost128 ~]#cmake -DWITH_DEBUG=OFF \
-DCMAKE_INSTALL_PREFIX=/usr/local/inception \
-DMYSQL_DATADIR=/usr/local/inception/data \
-DWITH_SSL=yes \
-DCMAKE_BUILD_TYPE=RELEASE \
-DWITH_ZLIB=bundled \
-DMY_MAINTAINER_C_WARNINGS="-Wall -Wextra -Wunused -Wwrite-strings -Wno-strict-aliasing -Wdeclaration-after-statement" \
-DMY_MAINTAINER_CXX_WARNINGS="-Wall -Wextra -Wunused -Wwrite-strings -Wno-strict-aliasing -Wno-unused-parameter -Woverloaded-virtual"make && make install

1.3 Inception 配置文件(/etc/inc.cnf)设置

[inception]
general_log=1
general_log_file=inception.log
port=6669
socket=/tmp/inc.socket
character-set-client-handshake=0
character-set-server=utf8
inception_support_charset=utf8mb4
inception_enable_nullable=1
inception_check_primary_key=1
inception_check_column_comment=1
inception_check_table_comment=1
inception_enable_blob_type=1
inception_check_column_default_value=1
inception_support_charset=utf8
inception_osc_on=OFF
inception_check_column_default_value=OFF
inception_check_column_comment=OFF
inception_check_table_comment=OFF
inception_enable_identifer_keyword=ON
inception_remote_backup_host=192.168.42.128
inception_remote_backup_port=3307
inception_remote_system_user=root
inception_remote_system_password='Lkj2019#db'

1.4启动和连接 Inception

# 启动和连接 Inception
[root@localhost128 ~]# nohup /usr/local/inception/bin/Inception --defaults-file=/etc/inc.cnf &[root@localhost128 ~]# mysql -h192.168.42.128 -P6669
mysql> inception get variables;

返回值如下图:

二、安装 Yearning

2.1 yearning安装前的设置

2.1.1 安装docker

# step 1: 安装必要的一些系统工具
[root@localhost128 ~]#sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
[root@localhost128 ~]#sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
[root@localhost128 ~]#sudo yum makecache fast
[root@localhost128 ~]#sudo yum -y install docker-ce
# Step 4: 开启Docker服务
[root@localhost128 ~]#sudo service docker start

2.1.2 安装docker-compose

yum install docker-compose -y

2.2 安装yearning

[root@localhost128 ~]#wget https://github.com/cookieY/Yearning/archive/master.zip
//下载软件包
[root@localhost128 ~]#unzip master.zip //解压软件包
[root@localhost128 ~]#mv Yearning-master /usr/local/yearning[root@localhost128 ~]#cd /usr/local/yearning/install/yearning-docker-compose
[root@localhost128 ~]#docker-compose up -d //安装yearning

2.3 访问及配置

2.3.1 浏览器访问

打开网站:http://192.168.42.128:8080/ ,默认用户:admin,密码: Yearning_admin 。

2.3.1 配置相关信息

配置inception的信息及备份库的相关信息,请注意正确填写

三、其他

3.1 注意事项

Inception配置文件密码信息如有特殊符号,注意要加个单引号。

摆脱“人肉”审核,从0搭建可视化SQL自动审核平台相关推荐

  1. 贝聊SQL自动审核系统

    文章作者:刘汉华,贝聊高级运维工程师 下面是我的第一次需求分析及原型设计作品,这里整理了一下跟有需要的朋友们分享! 一. 需求背景 1.1 需求要解决什么问题 针对MySQL语句写法的统一化标准,人工 ...

  2. sql自动审核工具-inception

    [inception使用规范及说明文档](http://mysql-inception.github.io/inception-document/usage/) [代码仓库](https://gith ...

  3. 摆脱“人肉取数机”,还需学习分析思维!

    *文末有1元解锁98元课程的福利,可下拉解锁 互联网什么最贵?答案一定是数据,互联网的数据堪比国际原油. 像 BAT 的数据产品日活数字,动辄几百万上千万甚至过亿.不论是以开发功能为目的,还是找到业务 ...

  4. SQL自动审核-自助上线平台

    演示地址 http://fander.jios.org:8008/ 普通上线账号:guest ,密码:123456 管理员审批账号:admin,密码:123456 感谢好友陈俊聪友情提供云主机. 为了 ...

  5. 在小公司天天人肉取数,职业规划怎么办?

    "那谁谁麻烦给我跑个数!"干我们这行的,最讨厌听到这句话,如果有更讨厌的,就是在你快下班时听到了这句话,还得在下班前就给到他. 很多人挂着"数据分析师"的 ti ...

  6. 在小公司天天人肉取数,真的会废了吗?

    "那谁谁麻烦给我跑个数!"干咱们这行的,最讨厌听到这句话,如果有更讨厌的,就是在你快下班时听到了这句话,还得在下班前就给到他. 很多人挂着"数据分析师"的 ti ...

  7. 别天天人肉提数了,做点这些有价值的事吧...

    "那谁谁麻烦给我跑个数!"干我们这行的,最讨厌听到这句话,如果有更讨厌的,就是在你快下班时听到了这句话,还得在下班前就给到他. 很多人挂着"数据分析师"的 ti ...

  8. FreeBSD8.0搭建Apache+PHP+MySql平台

    基于FreeBSD 8.0搭建的Apache+PHP+MySql平台所使用的软件版本: FreeBSD 8.0 release Apache 2.2.14_5 PHP 5.2.12 MySql 5.1 ...

  9. mssql 数据库审计账户_SQLServer数据库审计功能入门之SQL Server审核 (SQL Server Audit)...

    本文主要向大家介绍了SQLServer数据库审计功能入门之SQL Server审核,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. 介绍 Audit是SQL Server ...

最新文章

  1. java 初始化系统参数_系统中参数的初始化 参数在系统中配置
  2. 计算机的图形用户界面,2017计算机等级考试知识点:认识图形用户界面
  3. django mysql连接超时设置_坑(一)—— Django ORM 连接超时的坑
  4. 从mysql数据库中读取二进制文件_数据库技术之在MYSQL数据库中如何存取二进制文件...
  5. linux删除百万个文件夹,linux下如何删除一百万个文件
  6. [华清远见]FPGA公益培训
  7. ios label文字行间距_iOS- 设置label的行间距字体间距
  8. linux rac 查询ip,你知道RAC怎么增加管理IP地址吗?
  9. CSS 三角型的实现原理
  10. linux 命名空间Namespace机制【转】
  11. matlab跟踪控制程序,机器人轨迹跟踪控制方法研究(含MATLAB程序)
  12. flashfxp用什么协议连接服务器,flashfxp怎么连接,flashfxp怎么连接,具体的连接方法...
  13. PIC18f46j50单片机里SPI部分的一点程序
  14. L1-030. 一帮一-PAT团体程序设计天梯赛GPLT
  15. 毕业论文发表在什么期刊
  16. hbase集群的搭建(完全分布式)
  17. NVIDIA Jetson之TF卡系统镜像备份与恢复
  18. 地方门户网站如何快速发展盈利
  19. 贾小伟—Web前端开发工程师(作品集)
  20. BZOJ2178: 圆的面积并(格林公式)

热门文章

  1. linux下 mysql 的root用户忘记密码解决方案
  2. 使用ssh-keygen生成私钥和公钥
  3. TikTok广告投放指南(基础入门)
  4. python 字符串的一些方法
  5. 代码规范之华为公司代码规范
  6. 挑战程序猿---三角形
  7. 查看文档(API) (NSString)
  8. Nebula3的Input系统
  9. 工信部发布新能源车准入新规 9月1日起正式实施
  10. 为什么说现在是计算机视觉最好的时代?