mysql python 集群,Python自动化运维之前端部署Mysql架构(一)

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

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

a9e2d0bdce386175b44fd31f097411c5.gif

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

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

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

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

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

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

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

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

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

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

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

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

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

5917f69c56bcd97df14422ce479ac2da.png

如何规避这些不必要的问题和故障,首先要标准化,然后加多上战场操作,不断积累处理故障经验,才能逐步自动化。这个标准化是要结合很多前辈们的技术和经验提炼而成,不是个人自我陶醉的总结就能称之为标准的。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数据库部署界面

2ebfdb7c2aea058a797f2f6d6b99d9f1.png

2.2 Mysql数据库任务列表

049d66339d2239f495736ac74d32ca72.png

2.3 Mysql数据库部署操作响应

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

1) 预览方案

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

39838928b69275e6f38d23d75e6fd955.png

2) 执行任务

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

eeb331ac769796a70d2f966d631b937d.png

3) 删除任务

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

(PS:这选项逗着玩的)

084c0948443224e227e88cca98745ab8.png

演示

03

3.1 创建Mysql部署任务

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

8fc08da567bb2de15ddde540cdde44a2.gif

3.2 删除Mysql部署任务

292ef8327ec3eb175f506a30fe68cd1e.gif

3.3 预览Mysql操作方案

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

17f44de16678e5efdc43fde6638fba51.gif

3.4 执行Mysql部署任务

你猜我执行了没,哈哈!

8c3a0e5525c512c609dc9726e3bad577.png

400051503324c8cd300d6d1a40c349b7.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值