平常我们线上执行的SQL脚本都是很粗犷的。呼叫一下DBA或者运维,把脚本发过去,然后告诉他在哪个环境执行。然后双方沟通不畅,测试环境的脚本执行到生产了!脚本写的有问题执行错了却没有回滚脚本!或者每个人都有执行SQL脚本的权利,出事之后互相甩锅!等等一系列问题都是胖哥遇到过的。

迫切需要一个工具能够解决上面的问题。经过调研使用了名叫Yearning的SQL审计工具。经过两星期的试用,都交口称赞。所以特来安利一下这个工具。

Yearning SQL审计平台

Yearning 是面向中小型企业的轻量级MySQL SQL语句审核平台,提供查询审计,SQL审核,权限控制,自定义审核流程等功能。规范了SQL脚本执行的流程,降低了数据损坏丢失的风险。安装非常简单,可以到中文文档 https://guide.yearning.io/了解,这里就不多说了,接下来主要谈谈个人的使用心得。

使用心得分享

Yearning部署好后,你可以将需要管理的MySQL数据源配置进去。

角色帐号

然后就是创建和分配帐号了,除了自带的超级管理员外,我们要创建两种帐号:

Yearning的用户角色分别为:提交人,操作人,超级管理员(仅admin用户) 三类。

提交人帐号: 用来提交的SQL工单,查询工单的功能,分给普通开发者用来提交SQL脚本工单。

操作人帐号: 除了有提交人帐号拥有的功能外,还有审核并执行SQL工单的功能,这种帐号一般分给运维或者DBA使用。

工单

工单能够规范SQL脚本的执行流程,将执行的过程记录清楚,作为后面复盘和甩锅背锅的依据。

这时候你在给DBA发脚本,他会让你老老实实提交工单,白纸黑字写清楚脚本的基本信息。

提交SQL工单

提交完了,DBA审核你的脚本是否合规,做出批准和驳回的决定 。

SQL工单审核

提交人还可以查询自己的提交记录、审核结果、执行情况。

查询我的工单

看到了吧,一切清清楚楚,明明白白!规范了流程,降低了沟通成本,并对执行的过程记录在案。还能自动生成回滚语句以防不测。

最关键的是颜值也非常高!

注意事项

Yearning 目前兼容99%的MySQL标准SQL语法,目前不支持跨库DML语句回滚,也不支持存储过程和触发器,好像外键也不支持

总结

Yearning可以规范中小团队MySQL的SQL审计管理。如果你的应用很多,或者开发团队已经初具规模,你可以去试一试Yearning。好了今天的分享就到这里,多多关注:码农小胖哥 ,获取更多能够帮助你开发和管理的效率工具。

往期推荐

三孩政策来了!网友:65岁没死,要带9个孙儿;限购两套房怎么分?

API 快速开发平台设计思考

惊心动魄的开源项目“政变”,堪比宫斗...

阿里招“AI鉴黄体验官”:日薪1000!网友:钱不钱无所谓,净化互联网人人有责!

这是你想要的工作吗?灵隐寺招聘:没有KPI,佛系上班……

推荐关注本文作者:码农小胖哥

分享高质量编程知识,探讨IT人生

技术干货,实战技巧,面试技巧,前沿资讯一个都不能少

线上SQL脚本执行错了出事之后互相甩锅怎么办?相关推荐

  1. PowerShell说“此系统上的脚本执行被禁用。”

    我正在尝试运行一个从cmd.exe调用powershell脚本的cmd文件,并且出现以下错误: 无法加载Management_Install.ps1因为在此系统上禁用了脚本的执行. 我跑了 Set-E ...

  2. oracle当查询没有输出返回0,Oracle导入SQL脚本执行和常用命令大全

    在SQL_PLUS里面执行: sql>@full_path/test.sql; 例:sql>@D:/test.sql; 不需要commit; 一般都是在test.sql 里面最后加上一个c ...

  3. oracle脚本太大如何快速导入,(转)Oracle导入SQL脚本执行和常用命令大全

    在工作需要的时候,常常忘记很多命令.今天做的时候才记起! 在SQL_PLUS里面执行: sql>@full_path/test.sql; 例:sql>@D:/test.sql; 不需要co ...

  4. java调用MySQL脚本_Java调用SQL脚本执行常用的方法示例

    前言 大家都知道,在Java中调用SQL脚本的方式有多种,在这里只记录一种自己常用的方式,个人觉得挺实用方便的. 运用ScriptRunner这个类. ScriptRunner类用于执行SQL语句,例 ...

  5. 不要轻易在数据库(尤其是线上数据库)执行,update、delete数据 !!!

    为什么80%的码农都做不了架构师?>>>    update tableaa set aaaa=bbb/10000 where ddd is null; 转载于:https://my ...

  6. websql线上sql查询

    登录websql地址: select TABLE_NAME from information_schema.tables  where TABLE_SCHEMA='rebate';查询表名 selec ...

  7. kettle 常用输出(插入更新、表输出、执行 SQL 脚本)

    上一篇 文章 ,主要讲了 kettle 的原理.安装及简单的使用.其中用到了一种输出方式:插入更新. 这篇文章,主要介绍下常用的输出方式:插入更新.表输出.执行 SQL 脚本. 插入更新 插入更新,顾 ...

  8. ORACLE 将SQL的执行脚本返回值传给SHELL

    遇到了一个这样的需求: 用SHELL脚本去调用ORACLE中一个PACKAGE的FUNCTION,根据FUNCTION的返回值,SHELL需要判断接下来的操作. 其实调用一个过程或者函数还是比较简单的 ...

  9. MySQL排查篇:该如何定位并解决线上突发的Bug与疑难杂症?

    前面两章中,聊到了关于数据库性能优化的话题,而本文则再来聊一聊关于MySQL线上排查方面的话题.线上排查.性能优化等内容是面试过程中的"常客",而对于线上遇到的"疑难杂症 ...

最新文章

  1. mysql改存储引擎教程_MySQL中修改数据表存储引擎的三种方法
  2. JQuery对checkbox的操作
  3. ThunderSoft Flash to HTML5中文版
  4. 推荐系统-07-lambda架构
  5. 提交页面插入到数据库2.jsp
  6. java 对象的态_Java面向对象-------多态总结
  7. LeetCode - Easy - 191. Number of 1 Bits
  8. 查询列名在哪张表_探索SQL-多表查询
  9. Linux 进程后台运行
  10. 一起谈.NET技术,asp.net控件开发基础(17)
  11. WP7开发平台介绍及开发注意事项【WP7学习札记之二】
  12. qt之qthread的使用
  13. 【OpenCV】用sobel算子和Susan算子提取恩智浦智能车赛道边缘
  14. 国内外计算机视觉领域优秀研究团队汇总
  15. nim语言教程(一)
  16. python 爬取漫画《黑鹭尸体宅配便》
  17. Python - 至多包含两个字符的最大子串
  18. pcb布线时爬电距离的总结与算法
  19. 如何防止自己的电脑成为肉鸡?
  20. Xilinx 7系FPGA总览

热门文章

  1. 首尔日记——5月25日,出发
  2. 内网渗透测试:隐藏通讯隧道技术(下)
  3. linux grouplist groupinstall groupremove 简介
  4. 各类攻击 单一协议 pcap数据包 下载网站
  5. 比特币交易追踪溯源技术介绍
  6. python3 限定方法参数 返回值 变量 类型
  7. web前端 react与vue 流行框架的比较
  8. Linux 2.6 中的直接 I/O 技术
  9. 5大架构:细数数据平台的组成与扩展
  10. 数字媒体技术和数据科学与大数据技术_?数据科学与大数据技术的就业前景和待遇怎么样?...