运维数据库平台~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界面化有很多开源项目,但是如何将它融入你的平台,就看你开发的功底了
---恢复内容结束---
最新文章
- Moon.Orm 入门总指南
- IE10 IE11 中 网站无法登录问题cookie
- html JS 打开本地程序及文件
- SwipeRefreshLayout + RecyclerView 实现 上拉刷新 和 下拉刷新
- [前端_EasyUI]给easyui的datebox设置默认值,获取不到 的解决方法
- 半径无关单核单线程最快速高斯模糊实现(附完整C代码)
- Qt之窗体拖拽、自适应分辨率、自适应大小 good
- c# 获取路径的几种方法
- C#画线源码
- c编程:用户输入一个数值n,打印出出1到n之间的所有质数
- C语言-06数据类型-05 总结
- Java的反射机制及应用实例
- java中的object类
- Android多画面幻灯片:ViewPager基础上,利用与PagerTabStrip出生缺陷(源代码)
- Head First设计模式之观察者模式
- Kubernetes之RBAC
- Codeforces Round #468 Div. 1
- ASCII、Unicode和UTF-8编码的区别;中英文混合截取
- [leetcode.com]算法题目 - Plus One
- 明星伙伴第一至八季/全集Entourage迅雷下载
热门文章
- Luogu3297 SDOI2013逃考(半平面交+最短路)
- jQuery筛选总结
- python 随机数模块 -- random
- Dumb Bones UVA - 10529(概率dp)
- 自学Zabbix之路15.2 Zabbix数据库表结构简单解析-Items表
- 【BZOJ2424】[HAOI2010]订货(费用流)
- linux 分区、目录及用途
- 去除外显子低质量reads时弹出错误“Invalid quality score value (char '#' ord 35 quality value -29) on line 4”和“Invalid quality score value (char '.' ord 46 quality value -18) on line 12”的解决方法
- springMVC 接收json字符串参数
- mysql 日志清理