都 2024 年了,你还在直连库执行 SQL 吗?

SQLE 投稿活动第二篇。

作者:欧阳涵,爱可生团队 DBA 成员,看到下雨知道要打伞的 2.5 次元爱好者~

爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。

本文约 2000 字,预计阅读需要 7 分钟。

前言

劳累,总是在业务下发大事务之后;加班,总是在手抖删库间,何以解忧?唯有 SQLE。

事故总是频繁发生在手动操作中,那么有什么办法可以对下发的 SQL 进行控制呢?

笔者认为 SQLE 是个不错的选择。用户可以在 SQLE 中,通过创建工单的方式,来对需要下发的 SQL 进行管控及标准发布。为方便大家了解用 SQLE 管控 SQL 下发的流程,笔者先在这里进行一段流程阐述:

① 创建执行用户 oyh → ② 创建数据源 → ③ 在对应项目添加用户 oyh → ④ 创建 SQL 上线的工单 → ⑤ 用户对工单进行审核,审核不通过驳回,重新修改 SQL,审核通过后发布上线。

体验过程

SQLE 版本 3.2310 社区版
MySQL 版本 5.7.25
MySQL 信息 vip:10.186.62.209 10.186.62.17:2342
SQLE 管理员用户 admin
SQLE 上线 SQL 用户 oyh

2.1 谁来做?

我们创建一个 oyh 用户来执行上线的操作。

① 进入用户中心

点击 用户中心 进行跳转。

② 用户管理

用户中心包含用户管理、用户组管理及角色管理三个模块:

  • 用户管理:指平台用户的管理,由管理员创建用户或编辑用户基本信息。
  • 用户组管理:当需要对一批用户赋予同样权限时,可由管理员创建用户组,将这批用户统一绑定至该用户组下,即可进行统一授权。
  • 角色管理:SQLE 平台使用角色管理来实现操作权限组合,由管理员创建。

点击 添加用户

输入用户的信息,带【*】符号的为必填项,我们这里只填写用户名和密码,其他信息置空。

点击提交后,oyh 用户就创建成功了,可以点击管理对用户信息进行修改。至于前面提到的角色和用户组,有兴趣的小伙伴可以自己去试试,笔者这边就只使用默认的。

③ 修改权限

default 项目添加成员和权限。

点击 成员与权限 ,选择 添加成员

oyh 用户添加到 default 项目里面去,并给其添加对应的角色,需要注意以下几点:

  • 成员/成员组由项目管理员添加,用户只有被添加为某个项目的成员后,才可查看、操作对应项目内资源。
  • 项目管理员将负责项目管理行为,若将当前成员设为项目管理员,则该成员将对项目内所有数据源拥有所有操作权限,无需额外配置权限。
  • 当移动到角色上方时,可以查看对应角色的具体权限。

点击提交后便可发现添加成员成功。

2.2 对谁做?

我们可以利用 添加数据源 这个操作,来给 SQLE 上线 SQL 添加具体的执行对象。

2.2.1 添加数据源

点击数据源,选择添加数据源。

2.2.2 填写基本信息

在填完数据库的基本信息后,点击 测试数据库连通性 ,当出现和笔者一致的 数据库连通性测试成功 后,代表这个数据源是可用的,否则就要检查一下自己是哪个信息填写错误了。

需要注意的是:

  • 运维时间:默认无运维时间,即不限制上线时间
  • SQL 审核配置:配置的是在 SQL 工作台上执行的操作,具体 SQL 工作台是什么咱们后面再说,这里就不展开了。咱们这节内容,选择将 SQL 查询是否需要审核 关闭就可以啦~~

2.2.3 查看数据源

点击提交后,点击红框中的字体,可以快速跳转到查看自己刚刚创建数据源的信息,可以对数据源的信息进行编辑和删除的操作。

2.3 怎么做?

万事具备,只欠东风。用户和数据源都创建好后,咱们就可以利用工单来上线 SQL 了~

这里有 SQLE 文档里面相关流程图,为了让各位读者对这个流程更加清晰,笔者直接借过来用一用。

2.3.1 准备账号

使用 oyh 账号登录。

2.3.2 创建工单

选中 SQL 工单,点击 创建工单

2.3.3 输入信息

  • 填写工单名称:
    • 工单名称支持中英文,须以英文开头;
    • 工单名称可自行填写;若未填写,平台将根据使用的数据源及添加时间组合填充工单名称;
  • 填写工单描述:输入工单描述信息,限 3000 个字符;
  • 选择数据源:若未选择数据库,工单上线后,将脱库执行下发的 SQL
  • SQL 语句上传方式
    • 在线输入 SQL 语句:项目成员可在平台编辑器中直接输入 SQL;
    • 上传 SQL 文件:项目成员可选择本地的 SQL 文件上传;
    • 上传 Mybatis 的 XML 文件:项目成员可选择本地的 XML 文件上传;
      • 限制:平台仅支持审核 XML 文件中上传的 SQL 语句,尚不支持对其创建工单;
  • 可以对 SQL 进行优化,支持的数据库类型:MySQL、DB2、SQL Server、Oceanbase For MySQL、Oracle、PostgreSQL 等。

2.3.4 SQL 审核

点击审核后,SQLE 会显示对用户提供的 SQL 语句的审核结果。

  • 数据源标签:显示当前 SQL 操作的数据源,当有多个数据源时,可切换数据源标签,查看不同数据源上的审核情况;
  • 数据源上 SQL 的整体审核通过率、审核结果评分及操作的数据库;
  • 数据源上每条 SQL 的审核结果、SQL 语句及执行状态,可分析 SQL;
  • 功能区:
    • 下载审核报告:查看当前数据源下审核的 SQL 语句及其审核结果;
    • 下载 SQL 语句:下载文件,可查看当前数据源下审核的 SQL 语句及其审核结果;
    • 设置是否去重:若 SQL 语句结构一致,去重后将仅显示去重后的 SQL;

2.3.5 通过审核

点击右上角的工单详情可以查看具体的信息,创建人,创建时间等等。

2.3.6 执行上线

2.3.7 上线成功

体验心得

初次使用 SQLE,体验感还是不错的,整个界面的布局和配色十分巴适,用户指导 界面等小细节,主打的就是一个贴心,毕竟产品的颜值和使用手感还是很重要的。

更多技术文章,请访问:opensource.actionsky.com/

关于 SQLE

SQLE 是一款全方位的 SQL 质量管理平台,覆盖开发至生产环境的 SQL 审核和管理。支持主流的开源、商业、国产数据库,为开发和运维提供流程自动化能力,提升上线效率,提高数据质量。

相关推荐
中草药z30 分钟前
【Spring】深入解析 Spring 原理:Bean 的多方面剖析(源码阅读)
java·数据库·spring boot·spring·bean·源码阅读
地球资源数据云32 分钟前
全国30米分辨率逐年植被覆盖度(FVC)数据集
大数据·运维·服务器·数据库·均值算法
Ahern_1 小时前
Oracle 普通表至分区表的分区交换
大数据·数据库·sql·oracle
夜半被帅醒1 小时前
MySQL 数据库优化详解【Java数据库调优】
java·数据库·mysql
不爱学习的啊Biao2 小时前
【13】MySQL如何选择合适的索引?
android·数据库·mysql
破 风2 小时前
SpringBoot 集成 MongoDB
数据库·mongodb
Rverdoser2 小时前
MySQL-MVCC(多版本并发控制)
数据库·mysql
m0_748233642 小时前
SQL数组常用函数记录(Map篇)
java·数据库·sql
dowhileprogramming2 小时前
Python 中的迭代器
linux·数据库·python
0zxm3 小时前
08 Django - Django媒体文件&静态文件&文件上传
数据库·后端·python·django·sqlite