使用php封装了高效的 Mysql 备份工具 mydumper,提供可视化页面,方便在线管理数据库备份
一、简介
- 该工具封装了高效的 MySQL 备份工具 mydumper,实现了多线程备份、事务一致性备份、指定表备份、备份分片与压缩等功能
- 也支持使用 myloader 恢复备份数据到指定数据库中
- 提供简洁易用的 Web 界面,方便在线管理数据库配置、设置备份策略、执行备份与恢复操作、管理备份文件
- 支持使用Docker快速部署使用
- 该工具的源码地址参考:github.com/luler/hello_mysql_backu...
- 该项目的整体架构可参考下图:
二、安装
- 准备一台主机,需要具备Docker、docker-compose软件环境
- 拉取项目代码
git clone https://github.com/luler/hello_mysql_backup.git
- 进入项目代码,编辑docker-compose.yml配置文件,配置内容参考下面:
services: php_nginx: image: registry.cn-shenzhen.aliyuncs.com/luler/linux_php_nginx:php7.3 restart: always privileged: true ports: - 6033:80 #默认6033端口 #- 9911:9001 volumes: #下面都是一些持久化配置,如不清楚用途,可不用编辑 - ./config/nginx/conf:/usr/local/nginx/conf - ./config/php/etc:/usr/local/php/etc - ./config/init.sh:/init.sh - ./code/api:/home/wwwroot/api - ./code/web/dist:/home/wwwroot/web/dist - ./code/mydumper-0.10.7-2.el8.x86_64.rpm:/home/wwwroot/mydumper-0.10.7-2.el8.x86_64.rpm - ./runtime/wwwlogs:/home/wwwlogs - ./config/supervisor/supervisord.conf:/etc/supervisord.conf - ./config/supervisor/supervisord.d:/etc/supervisord.d
- (可选)修改默认配置文件,路径:./code/api/.env,可以选择配置账号信息、邮箱配置等
......
#默认账号
admin_user=admin
#默认密码
admin_password=admin
......
#如果需要配置,备份、恢复失败后发出邮箱通知,需要配置下面选项
[email]
smtp_host=smtp.exmail.qq.com
smtp_port=465
smtp_email=xxx
smtp_password=xxx
smtp_nickname=Mysql数据备份
#alert_emails=xxx,xxx
alert_emails=
alert_ignore_str=
- 执行如下命令,启动服务
执行命令会自动拉取镜像,启动服务,参考下图docker-compose up -d
三、使用
1. 安装完毕,可访问页面:http://server_ip:6033/,默认账号:admin,密码:admin
2. 添加一个数据库,填入相关连接配置
3. 新增数据库备份策略,可设置定时备份、保留备份数量、限制备份哪些表等
4. 可以操作立即备份和下载、管理备份文件
管理备份策略、查看备份数量与空间占用、操作立即备份等
下载、管理备份文件
5. 可以在线选择已备份数据,导入到指定数据库
四、总结
- 该工具基于高效的多线程备份工具 mydumper,备份性能高,支持事务一致性备份,指定表备份
- 提供便捷易用在线管理页面,可以帮助开发人员高效设置mysql数据库的数据备份策略和管理备份文件
- 可以通过Docker快速部署使用,低配置、低运维成本
- 值得注意的是,该工具是基于网络连接的备份,需要关注网络带宽、数据库压力情况,建议中小型数据库、从库备份、定时在低频使用期备份等
推荐文章: