Python自动化运维之前端部署Mysql架构(一)
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自动化运维喔~