运维数据库平台~inception测试脚本
一 简介:今天咱们来聊聊inception的测试脚本
二 范例:
#!/usr/bin/python
import MySQLdb
sql='/*--user=;--password=;--host=;--execute=1;--port=3306;*/\
inception_magic_start;\
use test;\
select count(*) from mongodb_log where id > 1000 ;\
inception_magic_commit;'
try:
conn=MySQLdb.connect(host='127.0.0.1',user='root',passwd='',port=6669,charset='utf8')
cur=conn.cursor()
ret=cur.execute(sql)
result=cur.fetchall()
num_fields = len(cur.description)
field_names = [i[0] for i in cur.description]
print field_names
for row in result:
print row[0], "¦",row[1],"¦",row[2],"¦",row[3],"¦",row[4],"¦",
row[5],"¦",row[6],"¦",row[7],"¦",row[8],"¦",row[9],"¦",row[10]
cur.close()
conn.close()
except MySQLdb.Error,e:
print "Mysql Error %d: %s" % (e.args[0], e.args[1])
三 解析:
第一部分:sql
1 sql=/*user= password= host= inception参数*/ (user等信息是目标数据库的用户名密码等,inception参数可参考官方手册,此处为是否审核(--check=1)和执行(--execute=1))
2 inception_magic_start;
3 use db
4 sqltext(dml操作)
5 inception_magic_commit;
第二部分: execute sql
1 连接本地inception服务(默认为root 无密码)
2 执行sql
3 打印审核和执行信息
四 扩展:
将inception界面化的思路:
1 提供相关参数,第一部分(host,user,password,sqltext,inception参数),进行api传参
2 调用js 返回审核和执行信息,实现结果可视化
五 改装函数一例(只需要改装第一部分)
def table_structure(user,password,sqltext, host, chk)
sqlstart='/*--user=;--password=;--port=3306;'
sqlhost=host
sql2check=chk+';*/'
sqlcenter='inception_magic_start;'
sqlend='inception_magic_commit;'
sql = sqlstart +"host="+sqlhost + sql2check + sqlcenter + sqltext + sqlend
print sql
def main():
sqltext = sys.argv[1]
user= sys.argv[2]
password = sys.argv[3]
chk = sys.argv[4]//(1仅审核 2审核并执行)
host=sys.arge[6]
table_structure(user,password,sqltext, host, chk)
六 关于inception web界面化有很多开源项目,但是如何将它融入你的平台,就看你开发的功底了
---恢复内容结束---
运维数据库平台~inception测试脚本的更多相关文章
- 运维数据库平台~inception审核规则详解
---恢复内容开始--- 一 简介:这次我们来介绍最核心的审核功能 二 讲解:简单来说 inception就是mysql的二次过滤,何谓二次过滤,我们知道,mysql本身都有自己的审核规则,为业界所通 ...
- 13. Redis监控运维云平台CacheCloud
13. Redis监控运维云平台CacheCloud13.1 CacheCloud是什么13.1.1 现有问题13.1.2 CacheCloud基本功能13.2 快速部署13.2.1 CacheClo ...
- 建设DevOps统一运维监控平台,全面的系统监控 Zabbix VS Nagios VS Open-Falcon OR Prometheus
前言 随着Devops.云计算.微服务.容器等理念的逐步落地和大力发展,机器越来越多,应用越来越多,服务越来越微,应用运行基础环境越来多样化,容器.虚拟机.物理机不一而足.面对动辄几百上千个虚拟机.容 ...
- 基于Jira的运维发布平台的设计与实现
作者:乔克 公众号:运维开发故事 上线发布是运维的日常工作,常见的发布方式有: 手动发布 Jenkins发布平台 Gitlab CI ...... 除此之外还有需要开源软件,他们都有非常不错的发布管理 ...
- 不看好运维竖井产品模式,优云打造融合化运维PaaS平台
2018年1月13号中国双态运维用户大会上,优云软件总裁刘东海接受了36Kr记者的专访,期间谈到了新时代下的企业运维模式,新兴技术和传统运维的融合以及优云未来的发展方向等问题.以下为访谈实录: 优云软 ...
- 开源运维自动化平台-opendevops
开源运维自动化平台-opendevops 简介 官网 | Github| 在线体验 CODO是一款为用户提供企业多混合云.自动化运维.完全开源的云管理平台. CODO前端基于Vue iview开发. ...
- 数据库(Oracle)运维工作内容及常用脚本命令
1.系统资源状况:--内存及CPU资源 --linux,solaris,aix vmstat 5 --说明: 1)观察空闲内存的数量多少,以及空闲内存量是否稳定,如果不稳定就得想办法来 ...
- Docker搭建Jenkins+Gogs+Maven/Gradle——代码自动化运维部署平台(三)
一.简介 1.CI/CD CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法.CI/CD 的核心概念是持续集成.持续交付和持续部署.作为一个面向开发和运营团队的解决方案,CI/C ...
- python为运维人员打造一个监控脚本
0x00前言: 一直想写一个监控方面的脚本,然后想到了运维这方面的 后来就写了个脚本. 0x001准备: psutil模块 0x02正文: import os import time import r ...
随机推荐
- 牛客网练习赛7-B-购物
在遥远的东方,有一家糖果专卖店. 这家糖果店将会在每天出售一些糖果,它每天都会生产出m个糖果,第i天的第j个糖果价格为C[i][j]元. 现在的你想要在接下来的n天去糖果店进行选购,你每天可以买多个糖 ...
- javascript history.go(-1) 返回刷新不起作用
js返回刷新两种方式: 方式一:有提示框 <input type="button" onClick="javascript:history.go(-1);loca ...
- NOIP2014题解
NOIP2014题解 Day1 生活大爆炸版石头剪刀布 rps 简单模拟题,注意细节 #include<iostream> #include<cstdio> using nam ...
- SharePoint 错误集
1. Delete a site collection · Run command : Remove-SPSite –Identity http://ent132.sharepoint.hp.com/ ...
- KEIL打开的工程所在目录过深将会编译出错
这是一个工程所在目录过深导致的编译错误
- luogu3385 负环 (spfa)
我在做spfa的时候,如果有一个点被更新了超过N次,证明这个图里是有负环的. (神TM输出YE5和N0) #include<bits/stdc++.h> #define pa pair&l ...
- Android log 方法
package test; public abstract class Logger { private static Class<? extends Logger> mLoggerCla ...
- A1039. Course List for Student
Zhejiang University has 40000 students and provides 2500 courses. Now given the student name lists o ...
- Java基类和派生类
背景:对基类和派生类有更清晰的认识. 从外部看来,派生类是一个与基类具有相同接口的新类,或许还会有一些额外的的方法和域 .但继承并不仅仅是类的复用.当创建了一个派生类的对象时,该类包含了一个基类的子对 ...
- MySQL索引的使用方式和缺点
一,create CREATE INDEX可对表增加普通索引或UNIQUE索引. CREATE INDEX index_name ON table_name (column_list) CREATE ...