这是我安装Yearning SQL审核平台和Inception(已闭源)总结的文档。
1.安装centos7并配置网络为桥接模式:
命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33
内部配置如下:
2.更新yum安装wget(CentOS wget是一个从网络上自动下载文件的自由工具)
a:备份原来的yum源(查看内核版本:uname -r)
命令:cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
b:设置阿里yum的源
命令:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
c:清理缓存并生成新的缓存
命令:yum clean all
命令:yum makecache
d:更新yum库
命令:yum update
e: 安装wget命令:yum install wget
3.安装docker
a、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r 命令查看你当前的内核版本
$ uname -r
b、使用 root 权限登录 Centos。确保 yum 包更新到最新。
$ sudo yum update
c、卸载旧版本(如果安装过旧版本的话)
$ sudo yum remove docker docker-common docker-selinux docker-engine
d、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
e、设置yum源
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
f、可以查看所有仓库中所有docker版本,并选择特定版本安装
$ yum list docker-ce --showduplicates | sort -r
g、安装docker
$ sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0 $ sudo yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce
h、启动并加入开机启动
$ sudo systemctl start docker $ sudo systemctl enable docker
i、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
$ docker version
这里感谢https://www.cnblogs.com/yufeng218/p/8370670.html的博主提供的文章
4.安装git
命令:yum install curl-devel expat-devel gettext-devel \ openssl-devel zlib-devel
5.安装bison(注意:centos7 系统自带的bison的版本过高,在后面测试的时候会报错!)
查看版本: bison -V
下载地址命令:wget http://ftp.gnu.org/gnu/bison/bison-2.5.1.tar.gz
进入:cd bison-2.5.1
运行:./configure
安装:make && make install
安装完成后(我当时是重启后才发生了变化):bison -V
6.安装解压rar的工具
下载64位:wget http://www.rarlab.com/rar/rarlinux-x64-5.3.0.tar.gz
解压:tar -zxvf rarlinux-x64-5.3.0.tar.gz
进入:cd rar
配置:make
成功图:
7.安装rz上传工具,windows上下载inception的2进制文件并上传到centos7系统上然后解压
安装rz
a.网络可用环境下敲:yum -y install lrzsz
b.上传:rz
二进制文件在yearning开源项目吃install目录下:
附件:
解压inception.rar
解压命令:rar x inception.rar
8.修改inception的配置
inception/bin目录下有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=0
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 = 127.0.0.1
inception_remote_backup_port = 3306
inception_remote_system_user = yearning
inception_remote_system_password = yearning
========================================================
9.给inception加权限并启动inception
加权限:chmod +x Inception
后台启动(有时启动后不会退出,可以复制ssh通道):./Inception --defaults-file=inc.cnf &
查看是否启动成功:ps -ef
效果如图:
有时需要关闭可以杀死进程:kill -9 42542
10.git clone yearning源码
下载源码:git clone https://github.com/cookieY/Yearning.git
进入:cd /Yearning/src
配置deploy.conf:cp deploy.conf.template deploy.conf
打开:vi deploy.conf
配置如下:
====================================分割线=================================
[mysql]
db = Yearning
address = 127.0.0.1
port = 3306
username = yearning
password = yearning
[host]
ipaddress = 127.0.0.1:8080
[Inception]
ip = 127.0.0.1
port = 6669
user = root
password = x
backupdb = 127.0.0.1
backupport = 3306
backupuser = root
backuppassword =
[LDAP]
LDAP_SERVER =
LDAP_SCBASE =
LDAP_DOMAIN =
LDAP_TYPE = 1
[email]
username =
password =
smtp_server =
smtp_port = 25
[sql]
limit = 1000
[webhook]
dingding =
====================================分割线=================================
按esc 然后:wq保存退出
11.修改yearning的docker-compose.yml配置
内容如下:
====================================分割线=============================================
version: '2'
services:
db:
image: mysql:5.7
volumes:
- ./docker/etc/mysql/:/etc/mysql/conf.d/
- ./db_data/:/var/lib/mysql/
- ./init-sql/:/docker-entrypoint-initdb.d/
restart: always
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: yearning
MYSQL_DATABASE: Yearning
MYSQL_USER: yearning
MYSQL_PASSWORD: yearning
yearning:
image: registry.cn-hangzhou.aliyuncs.com/cookie/yearning:latest
depends_on:
- db
ports:
- "8080:8000"
environment:
HOST: localhost
MYSQL_PASSWORD: yearning
MYSQL_USER: root
MYSQL_ADDR: db
# 默认账号:admin,默认密码:Yearning_admin
# 感谢 eacdy 张功震 贡献
====================================分割线=============================================
12.启动yearning项目
注意:刚才因为已经启动了inception的缘故,敲docker images应该会有个mysql 6669的镜像已经启动了而且可以连接进去(mysql -uroot -h127.0.0.1 -P6669)
里面是不应该有3306的数据库的端口开放,否则要关闭数据库服务(systemctl stop mysql),否则会出现3306端口被占用的错误。
现在我们来启动yearing项目了
进入install/yearning-docker-compose目录,启动命令:docker-compose up -d &
如果启动不正确可以删除镜像,值得注意的是3步:
a.先停(docker stop b62e027b74d4)
b.后删容器(docker rm b62e027b74d4)
c.再删镜像(docker rmi e47e309f72c8)
13.开放8080端口(注意:因为docker的缘故,所以不可以关闭防火墙)
如果关闭了的话会出现如下错误:
for db Cannot start service db: b'driver failed programming external connectivity on endpoint yearning-docker-compose_db_1_2ea11192181e (accdef9b8c87317a617c6e64d0eeb865482de4006a51ed5f41dc4f6797367639): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 3306 -j DNAT --to-destination 172.18.0.2:3306 ! -i br-c381f4a6d8ee: iptables: No chain/target/match by that name.\n (exit status 1))'
ERROR: Encountered errors while bringing up the project
所以打开防火墙(systemctl start firewalld.service),并移除镜像后再启动一遍吧。
只需要开放端口就好了:
[root@237_37 yearning-docker-compose]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
success
[root@237_37 yearning-docker-compose]# firewall-cmd --reload
success
[root@237_37 yearning-docker-compose]# firewall-cmd --zone=public --list-ports
8080/tcp
14.通过浏览器IP:8080访问(例如:http://192.168.0.38:8080)
默认用户admin 密码: Yearning_admin
成功了
附部分其他常用命令:
看是否已经启动工具:ps -ef
杀死命令:kill -9 7382
查看mysql:ps -ef|grep mysql
查看端口占用:ss -lntp
后台运行:./Inception &
连接数据库:mysql -uroot -h127.0.0.1 -P6669
看MySQL服务用了的端口:ps -ef |grep mysql
docker移除镜像:docker rmi 372c5df97301
先停docker stop b62e027b74d4,后删容器docker rm b62e027b74d4,再删镜像docker rmi e47e309f72c8
docker用了哪些端口:docker ps -a
相关资料URL:
yearning指导手册:http://guide.yearning.io/install/
yearning开源代码:https://github.com/cookieY/Yearning
其他参考文档1:https://blog.csdn.net/leonpenn/article/details/82991806
其他参考文档2:https://blog.csdn.net/eagle89/article/details/80695233
其他参考文档3:http://www.ywnds.com/?p=9423
其他参考文档4:https://blog.csdn.net/y4x5M0nivSrJaY3X92c/article/details/82784145
安装docker:https://www.cnblogs.com/yufeng218/p/8370670.html
防火墙:https://blog.csdn.net/dancheng1/article/details/78512028