基于django、celery和inception,带权限控制的数据库平台
另外还带有一些简单的saltstack api和监控功能
联系qq群:599187030
功能简述如下
MySQL 表结构查询功能
MySQL 语句查询页面(表级别查询黑名单设置)
MySQL DDL DML语句执行
MySQL DDL DML 任务提交(结合inception)
Inception 任务管理(包括任务修改、导出、定时执行、终止、结果状态查询、邮件提示、备份查询等)
MySQL 实例 部分状态查询
MySQL 表相关元数据收集与展示(自增值使用、表大小、重复索引、分区表使用等)
Mongodb简单查询
用户权限分离系统
saltstack api(key管理、远程shell、硬件信息)
数据库相关操作日志记录以及查询
MySQL数据库健康监控和告警
开发环境:
django:1.8.14
python:2.7.12
MySQL和redis实例各一个
python依赖组件:
django-celery 3.1.17
celery 3.1.25
kombu 3.0.37
celery-with-redis 3.0
django-simple-captcha
MySQL-python
pymongo
sqlparse
uwgsi (正式部署时使用)
权限功能简述:
用户的系统使用权限大致可以分为可以看到的页面,以及能够看到的DB两个维度
这两个维度的权限都可以通过设置组来达到后期快速添加用户的需求
对于前者:
所有页面都可以根据需要分配给不同权限的用户
对于DB维度的权限:
一个DB可以配置role为read和write两个ip-port实例,用以区分查询和变更语句执行的实例,(也可以将role配置成all不进行区分)
对于数据库账户,一个DB可以配置多个,并分配给不同的用户,用以实现不同用户在同一db下区分权限的功能。(也可以保持默认设置,即分配给public用户,不进行区分)
如果要使用任务管理功能,需要为DB添加一个role为admin的数据库账号
。。。待续
启动配置
config.py配置文件如下:
wrong_msg="select '请检查输入语句'"
select_limit=200
export_limit=200
incp_host="10.xx.xx.xx"
public_user="public"
incp_port=6669
incp_user=""
incp_passwd=""
sqladvisor_switch = 1
sqladvisor = '/usr/sbin/sqladvisor'
pt_tool = 1
pt_tool_path = '/usr/bin/'
incept_backup_host = '10.xx.xx.xx'
incept_backup_port = 'xx'
incept_backup_user = 'xx'
incept_backup_passwd = 'xx'
path_to_mysqldiff = "/usr/local/