查看原文
其他

Python自动化运维之前端部署Mysql架构(一)

小安Sir Python自动化运维 2024-03-03



↑点击蓝字关注我们 ↑



Hello,大家好!我是小安Sir,很高兴又和大家见面了。由于精力有限,没办法做到天天更新,但还是会坚持原创为主、以自动化运维系统为主线,因为这对小安Sir来说,是一个非常重要的工程!


本章节主要实现部署mysql架构的前端界面,小安Sir目前只管优化自身工作和沉淀技术于平台为主,毕竟小安Sir还是个弱小可怜无助的社畜!



开始之前我想讲个故事,这个故事来源于我的个人经历。


大学毕业前,小安Sir参加一次非常有趣的实习面试,对话大致如下?

问:如果客户找你,需要你帮忙启动数据库,可是这个客户什么都不知道,你该怎么做?

答:先问IP,问库/应用的名字?

问:你怎么确定你能拿到IP?(好吧,这句我开玩笑的)

问:你怎么确定查找以上的东西,就可以找到数据库?

答:看环境变量?找参数文件等?find 关键字?ps -ef|grep pmon或d.bin?

问:你怎么确定你查找以上的东西,你就可以找到数据库?

答:我???(心想:你是故意的吧?)


问题来了,为什么查了一堆东西,还是找不到数据库?可能吗?难道客户没有CMDB?没有标准手册?即使没有,找了上面的东西,也应该能找到了吧?莫非删库跑路,删的一干二净?


上面的例子就是不标准产生的后果。


回到DBA日常工作中,免不了经常装库,那DBA或运维人员们都有各自的喜好,我喜欢装在A目录,他喜欢装在B目录,有的装个库都能缺斤少两,库是搭建起来了,却导致后期维护成本极大。


看以下这图,随心所欲添加数据文件,如果这是个Ora Rac库+dataguard?那是不是要花时间去修复这种人为误操作的故障?


如何规避这些不必要的问题和故障,首先要标准化,然后加多上战场操作,不断积累处理故障经验,才能逐步自动化。这个标准化是要结合很多前辈们的技术和经验提炼而成,不是个人自我陶醉的总结就能称之为标准的。But Anyway,对于不涉及自动化系统的范畴,适合自己就是最好的!


小安Sir目前能力有限,目前没有办法做到极致的标准,但就以日常运维方案暂且作为本套系统的标准,比如装Mysql库有什么标准呢?


请看下面,开始进入主题。


Python自动化运维







前端部署Mysql架构一

本文大纲

Attention

    1. Mysql安装部署关键信息

    2. Mysql部署前端界面

    3. 演示


Mysql安装部署关键信息

01



1.1 关键字段

IP地址,端口,操作系统(用户,密码),数据库(密码,字符集,内存,版本),任务类型(删库跑路?新增数据库?)

有一些不是必要的,只是当时和现在想的不太一样,越往下做,越觉得前台更应该精简或加上一些审批流程,比如操作系统(用户和密码)是不必要的,这个可以在其他函数调度实现,但现在是为了方便自己,就先凑合着。


1.2 草图

草图是4月17日的想法,有很多的不符合产品思维,还少了字段(操作人等),不过这个是可以从登陆用户获取的,这里就不再添加了,后续有时间再完善,小安Sir的当前目标是搞定Mysql安装,若搞定这个目标,后续的集群、复制、备份等都会轻松很多。


Mysql部署前端界面

02



在实现前端界面的过程中,对于从业运维的我来说,确实有一定的难度,碰了不少的坑,但小安Sir并不会花过多的精力在非本专业的事情上。现在前端和草图没有什么两样,而且完善得比草图好一些。


至于为什么没有画流程图?因为我不想太官方哈!


2.1 Mysql数据库部署界面


2.2 Mysql数据库任务列表


2.3 Mysql数据库部署操作响应

由于精力有限,有些功能未能完全开发出来,有些逻辑设计的不太合理,但后续可以完善,当务之急,小安Sir先解决首要目标。


1) 预览方案

以下只是显示部分字段,具体详细的操作方案将陆续补充完整。通过预览操作方案,小白也能速成标准方案,不需要再去等大神一步步教学。


2) 执行任务

这里点了确定就可以开始执行任务,我还想加个进度条,否则页面一直卡在这里不好看。


3) 删除任务

删库跑路的任务一般都要删除,对不对?这里开个玩笑哈,有一些数据库确实不用了可以下线,那就备份完毕后关库,最后资源回收!直接删库跑路是不存在的!

(PS:这选项逗着玩的)



演示

03


3.1 创建Mysql部署任务

新建任务后自动跳转到任务列表,缺少了字段,如操作人,审批人和进度等,后续再完善!


3.2 删除Mysql部署任务


3.3 预览Mysql操作方案

这里的操作方案没有写完全,因为太简单了,先不补充了!


3.4 执行Mysql部署任务

你猜我执行了没,哈哈!


以上演示建议用PC端查看,感谢您的阅读!


——————我是安老师下期预告的分割线——————

"安老师,你这执行任务有问题啊,效果在哪里,究竟跑不跑?"。

"我就不执行,哈哈!预知后事如何,敬请期待!"


注意:仅供学习参考,切勿用于商业用途,

如有需要,请购买正版!


往期回顾

Python自动化实战一  |  网页模板改造

Python切割文件教程一 | 我的“大马士革命刀"

Python切割文件教程二 | 我的“大马士革命刀"不Like补刀

Django博客教程一  |  Django架构介绍

Django博客教程二  |  Django入门版博客

Django博客教程三  |  Django进阶版博客数据篇

Django博客教程四  |  Django进阶版博客网页篇


Python

自动化运维

长按识别左侧二维码,

关注Python自动化运维喔~

继续滑动看下一个

Python自动化运维之前端部署Mysql架构(一)

小安Sir Python自动化运维
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存