zjjxxlgb / thinkdb

thinkdb

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

README

Thinkdb是一款由PYTHON开发的MySQL DBA维护和监控MySQL数据库的软件。
目前完成了语句审核,工单模块,状态监控,复制监控,语句审核由去哪儿开源的Inception提供功能。
后期计划陆续添加权限鉴别,数据库实例的上下线,上线自动添加与判断实例,网页端维护等功能。
如果在使用中有遇到任何问题,请与作者联系!同时由于这是一款业也许时间完成的运维平台,难免会有一些小瑕疵,请大家见谅!但我会尽最大努力持续维护。


Author Li JianJun
QQ群 7273702
E-mail 33359848@qq.com

安装文档

https://github.com/lijianjun2014/thinkdb/blob/master/doc/Install.md


使用说明

视图模块需要更改的地方

1. 消息组件 需要更改views.py中 dml视图的 收件人group_id 根据实际情况填写DBA团队的ID。<br>
2. views.py中Inception的连接配置块根据实际情况填写IP,端口,用户,密码等信息。
3. 监控脚本monitor/monitor.py文件里面,需要根据实际情况更改监控历史数据存放信息

 

数据库账户权限

1. 监控账户必须要具有process,replication slave,replication client权限

Python3使用Inception需要修改的地方:

1、如果按照正确格式书写后还是报错:2576, 'Must start as begin statement。解决方案:
  修改pymysql的cursor.py,找到"if not self._defer_warnings",大概在338行将self._show_warnings()这一句注释掉,也可以直接删除,换成pass。

- if not self._defer_warnings:
-     self._show_warnings()
+ if not self._defer_warnings:
+     pass

2、修改pymysql的connections.py里面的_request_authentication() 增加2行如下:

- if int(self.server_version.split('.', 1)[0]) >= 5:
-    self.client_flag |= CLIENT.MULTI_RESULTS
+ if self.server_version.split('.', 1)[0] == "Inception2":
+    self.client_flag |= CLIENT.MULTI_RESULTS
+ elif int(self.server_version.split('.', 1)[0]) >= 5:
+    self.client_flag |= CLIENT.MULTI_RESULTS

使用方法

1. 自行完成相关的PYTHON网页运行所需环境,推荐UWSGI NGINX。
2. 导入SQL文件夹中的SQL文件,初始化数据库。
3. 初始用户:admin(密码:admin888)

项目介绍

登录

login

用户中心

用户中心包含了用户组和具体的用户,用户组方便权限管理,后期会增加权限管理!
用户列表支持搜索,搜索由bootstrapJS自带的。
列表的Action支持用户快捷的 增加 修改 删除操作

UserCenter  新增用户 AddUser

数据库中心

 数据中心包含了数据中心,集群中心,具体的数据库服务器3个维度,能满足大多数的功能需求。  更改集群信息,后期陆续会加上集群的自动上下线功能

监控中心

 健康监控  复制监控  监控图表  慢查询信息  慢查询是由借助pt工具生成并存入数据库中,这里前端展示

工单模块

 工单模块支持DML,DDL的提交,由DBA审核,后期会加入由直系上级先审核,最后由DBA审核并执行,底层功能是由inception实现  工单提交,语法错误高亮显示  工单审核与执行,检测通过了才会出现执行按钮

消息模块

 工单变更或者需要有你需要审核与介入的工单会发消息给你,目前只实现了消息,后期这里会加入邮件功能。

About

thinkdb


Languages

Language:Roff 22.5%Language:HTML 16.7%Language:C 15.9%Language:Perl 15.8%Language:JavaScript 9.0%Language:CSS 7.5%Language:Python 6.5%Language:C++ 4.5%Language:Pascal 1.0%Language:Shell 0.5%Language:M4 0.1%