1 Star 1 Fork 0

spwx820 / cloud_db_ops

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
readme.md

简介

一款针对小型团队的简易而完善的数据库管理平台。使用Go Frame做开发框架,使用django做数据模型管理工具,集成现有优秀开源的数据库解决方案。 远程机器只支持ubuntu 18.04; 也就是说,通过这个平台,数据库只能安装在ubuntu 18.04上, 其他平台需要自行修改脚本和文件。 声明: 该平台不对操作做任何保障,执行之前需要使用者了解每个操作的含义,并知晓其会造成的影响。

已实现功能

  • 管理 web ui
  • 管理员登录,注销
  • mysql 服务信息管理
  • mysql 自动部署 (ansible)
  • mysql 主从复制 (ansible)
  • mysql 监控(pmm, Percona MySQL Monitor, Grafana, Prometheus)
  • mysql 定期热备(xtrabackup+crontab)
  • mysql phpmyadmin 登录管理
  • redis 服务信息管理
  • redis 自动部署 (ansible)
  • redis 主从复制 (ansible, 不支持 redis-cluster)
  • redis 监控(influx+telegraf+redis-plugin)
  • redis 网页 tty 登录
  • 服务器网页 tty 登录
  • 所有功能都整合在一个域名下
  • mongodb集群管理, 部署, 监控
  • elastic search / kibana集群管理, 部署, kibana登陆
  • apisix 网关部署、和监控

规划功能

  • kafka , etcd, nacos 等部署和管理
  • etc ...

功能说明文档

todo

使用组件

  • go frame -- GF(Go Frame)是一款模块化、高性能、生产级的 Go 基础开发框架 link
  • ansible-role-mysql link
  • pmm, Percona MySQL Monitor
  • ansible-role-redis
  • phpmyadmin
  • influxdb, telegraf
  • gotty -- share tty as web link
  • gowebsocket -- websocket client for go
  • django -- 数据model管理
  • go-django-hashers -- 在go web中使用django用户管理系统 link

部署和停止服务

下载 release 并解压


mkdir -p deploy; mv release*.tar.gz ./deploy/; cd ./deploy/; tar -xzvf release.*.tar.gz

部署服务 (下面以ubuntu/debian为例, 其他系统需要相应修改脚本)

    1. 初始化运行环境
bash ./pkg_init.sh
    1. 修改配置文件

cp config/template_config.yaml config/config.yaml

把 config.yaml中的 ansible_host 改成你自己的内网地址。
    1. 初始化数据库
bash ./server_init.sh


如果运行顺利需要设置初始的管理员账号密码.

...
Running migrations:
  Applying redis_info.0001_initial... OK
  Applying redis_info.0002_auto_20200610_0221... OK
  Applying redis_info.0003_redisinfo_redis_master_ip... OK
  Applying redis_info.0004_auto_20200610_0232... OK
  Applying redis_info.0005_remove_redisinfo_redis_role... OK
  Applying redis_info.0006_auto_20200610_1358... OK

Done.
[localhost] local: cd common/py_app_models; python3 manage.py createsuperuser
Username (leave blank to use 'root'): xxx
Email address: xxx@xx.com
Password: xxxxxxxx
Password: xxxxxxxx

Done.
    1. 启动服务

bash ./start.sh

如果一切顺利,访问 http://localhost/login.html , 输入前面设置的管理员账号密码就可以登录了。

停止服务

bash ./stop.sh

开发

web开发

bash ./server_init.sh
bash ./start_dev.sh
go mod tidy
go run .

Comments ( 0 )

Sign in for post a comment

About

WIP: 在云服务器,虚拟主机等上,快速建立可靠,可监控,在线运维的数据库(mysql, redis, etc); 类似各大云厂商数据库产品 spread retract
JavaScript and 6 more languages
MIT
Cancel

Releases

No release

Contributors

All

Activities

load more
can not load any more
1
https://gitee.com/spwx/cloud_db_ops.git
git@gitee.com:spwx/cloud_db_ops.git
spwx
cloud_db_ops
cloud_db_ops
master

Search