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

举报
码农小胖哥 发表于 2022/03/31 23:48:30 2022/03/31
【摘要】 平常我们线上执行的SQL脚本都是很粗犷的。呼叫一下DBA或者运维,把脚本发过去,然后告诉他在哪个环境执行。然后双方沟通不畅,测试环境的脚本执行到生产了!脚本写的有问题执行错了却没有回滚脚本!或者每个人都有执行SQL脚本的权利,出事之后互相甩锅!等等一系列问题都是胖哥遇到过的。 迫切需要一个工具能够解决上面的问题。经过调研使用...

平常我们线上执行的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。好了今天的分享就到这里,多多关注:码农小胖哥 ,获取更多能够帮助你开发和管理的效率工具。

Spring MVC用ResponseEntity返回可实现更强大的功能

2021-05-26

为了熟练掌握动态SQL你必须要知道Mybatis中的OGNL表达式

2021-05-25

文章来源: felord.blog.csdn.net,作者:码农小胖哥,版权归原作者所有,如需转载,请联系作者。

原文链接:felord.blog.csdn.net/article/details/117341312

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。