Table of Contents generated with DocToc
gin-mysqlbak:一款简单高效、支持多集群统一备份的Mysql数据库备份平台!
- 请求链路日志打印,涵盖mysql/redis/request,集群版本支持jaeger链路追踪
- 支持备份文件直接下载到本地,可一键还原至原数据库。
- 支持对接S3协议对象存储存储备份文件,现已支持minio、阿里oss
- 支持主机健康检查,主机离线通过钉钉发送告警
- 支持钉钉推送备份状态,成功失败早知道
- 通过部署agent完成异地多节点备份,备份任务统一管理,备份数据集中存储
项目地址:https://github.com/noovertime7/gin-mysqlbak
前端地址: https://github.com/noovertime7/gin-mysql-web
agent地址: https://github.com/noovertime7/gin-mysqlbak-agent
注意: 安装开始前,请先创建gin-mysqlbak数据库,刷入sql文件初始化数据库,sql文件在项目sql文件夹下
-
开始前请确保机器已安装go编译环境
-
安装软件依赖 go mod使用请查阅:
https://blog.csdn.net/e421083458/article/details/89762113
git clone https://github.com/noovertime7/gin-mysqlbak.git
cd gin-mysqlbak
go mod tidy
-
确保正确配置了 conf/mysql_map.toml、conf/config.ini
-
运行入口main.go (默认监听8880端口)
go run main.go
首先请在root目录下准备好三个配置文件,base.toml不用改 ,配置文件实例在项目conf文件夹下
docker run -itd --name gin-mysql-server \
-p 8880:8880 \
-v /root/config.ini:/app/conf/config.ini \
-v /root/base.toml:/app/conf/dev/base.toml \
-v /root/mysql_map.toml:/app/conf/dev/mysql_map.toml \
harbor-tj.ts-it.cn:63333/mysqlbak/gin-mysqlbak-server:2.0.3-SP3
首先请在root目录下准备好前端配置文件
docker run -itd --name gin-mysql-web -p 8881:80 -v /root/default.conf:/etc/nginx/conf.d/default.conf harbor-tj.ts-it.cn:63333/mysqlbak/gin-mysqlbak-web:2.0.2-SP3
首先请在root目录下准备好agent配置文件,agent配置文件在agent仓库下的/domain/config/config.ini
docker run -itd --name gin-mysql-agent -v /root/config.ini:/app/domain/config/config.ini harbor-tj.ts-it.cn:63333/mysqlbak/gin-mysqlbak-agent:2.0.2-SP5
- 开始前请准备状态良好的k8s集群,请根据实际环境修改conf文件夹下的配置文件
- 创建mysqlbak命名空间部署后端服务
kubectl create ns mysqlbak ## 创建命名空间
cd gin-mysqlbak/kubernetes && kubectl apply -f ./conf ## 创建configmap配置文件
kubectl apply -f gin-mysqlbak-server-deploy.yaml ## 创建后端服务
kubectl apply -f gin-mysqlbak-server-web.yaml ## 创建前端服务
实现原理:
单机版本比较简单,使用server端备份能力进行备份,使用cron表达式创建备份任务,两种备份方式,xorm备份失败后,使用mysqldump进行备份,确保备份任务能百分百成功
实现原理:
原先的server端作为微服务网关,各个agent通过服务端接口进行服务的注册发现,上报agent信息,server端通过不通的服务名调用agent,agent完成数据备份与存储
- 首页大盘展示
- 备份主机操作演示
- 备份主机添加备份任务操作演示
- 任务列表操作展示
- 备份历史记录操作展示
- 集群列表
- 集群主机列表
- 集群任务列表
- 集群历史记录列表
参考文档:https://github.com/e421083458/golang_common