摆脱“人肉”审核,从0搭建可视化SQL自动审核平台
作為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 install1.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-mysql2、安裝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 status3、配置用戶并授權
[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.rpm1.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-master1.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 install1.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 start2.1.2 安裝docker-compose
yum install docker-compose -y2.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 //安裝yearning2.3 訪問及配置
2.3.1 瀏覽器訪問
打開網站:http://192.168.42.128:8080/ ,默認用戶:admin,密碼: Yearning_admin 。
?
2.3.1 配置相關信息
配置inception的信息及備份庫的相關信息,請注意正確填寫
?
三、其他
3.1 注意事項
Inception配置文件密碼信息如有特殊符號,注意要加個單引號。
?
?
?
?
?
?
?
?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的摆脱“人肉”审核,从0搭建可视化SQL自动审核平台的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 慢 SQL 诊断优化套路包,套路用的对,
- 下一篇: 华为网络工程师题型