Yearning 开源 SQL 审核平台
Yearning 是一个开源的 SQL 审核平台,专门为简化 SQL 管理流程设计,通常用于数据库的审核和自动化流程管理。Yearning 支持 MySQL 等数据库,提供 Web UI 来审核和管理 SQL 执行。
测试环境
在安装 Yearning 之前,请确保服务器环境满足以下条件。
操作系统:Ubuntu 或者 CentOS「本文默认为 Ubuntu」
数据库 MySQL 5.7 或 8.0。
运行语言:Yearning 是 Go 开发的,所以需要 Go 语言的环境。
安装 MySQL 数据库
如尚未安装 MySQL,可以使用以下命令安装:
1 | # Ubuntu 安装 MySQL |
启动 MySQL 服务并设置开机自启:
1 | sudo systemctl start mysql |
测试 MySQL 数据库安装成功:
1 | mysql -u root -p |
在 MySQL 中创建 Yearning 所需的数据库:
1 | CREATE DATABASE yearning; |
安装运行语言
Yearning 需要 Go 环境,因此需要先安装 Go。可以使用以下命令安装官方网站的 Go:
1 | wget https://golang.org/dl/go1.23.2.linux-amd64.tar.gz |
解压安装:
1 | sudo tar -xzf go1.23.2.linux-amd64.tar.gz -C /usr/local |
配置环境变量:
1 | echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.bashrc |
验证安装:
1 | go version |
下载配置
使用以下命令克隆 Yearning 项目源代码:
1 | # 克隆 Yearning 源代码仓库 |
Yearning 提供一个配置文件来指定数据库连接等参数。在 Yearning/config
目录中找到 conf.yaml
文件,编辑并配置数据库连接信息:
1 | db: |
编译访问
Yearning 需要使用 Go 编译运行。执行以下命令来编译 Yearning:
1 | # 编译 |
会启动 Web 服务,默认情况端口是 8000
。使用浏览器访问 Yearning 的 Web UI:
1 | http://IP:8000 |
初始使用
首次访问 Yearning Web UI 时,会要求设置管理员账号。
设置管理员账号后,可登录系统并开始使用 Yearning 进行 SQL 审核。
Yearning 需连接管理的数据库实例。
前往配置页面,添加要管理的 MySQL 数据库实例。
Yearning 提供了 SQL 提交和审核功能。用户可以通过 Web 界面提交 SQL,管理员审核后可执行或拒绝该 SQL。
Yearning 提供 SQL 审核和执行的记录功能,可以查看每次执行的历史记录和结果。
使用 Docker 安装 Yearning
如果希望使用 Docker 来简化安装过程,Yearning 提供 Docker 支持。将下面的代码保存为 docker-compose.yml
:
1 | version: '3' |
使用下面命令启动容器。docker-compose
会自动拉取 Yearning 的镜像并启动 Yearning 服务,打开浏览器访问 http://IP:8000
,同样按照之前步骤完成初始化配置和使用:
1 | docker-compose up -d |
常见问题
无法访问 Yearning时:
- 检查防火墙是否阻止了端口 8000 的访问;
- 检查 Yearning 是否在正确的 IP 和端口上运行。
数据库连接问题:
- 确保配置文件中的数据库用户名、密码、主机正确;
- 确认 MySQL 允许 Yearning 连接,可以在 MySQL 中执行
GRANT
语句,确保正确权限。