工具插件

PTArchiver

功能说明

利用percona-toolkit工具集的pt-archiver工具对MySQL数据进行归档

安装配置

  • 需要下载percona-toolkit,安装在Archery部署机器上面
  • 在系统配置中配置设置数据归档申请审批流程
  • 在管理后台django_q/schedule增加schedule配置,用于定时归档,可配置多个schedule在不同的时间调度归档任务,配置的func设置为sql.archiver.add_archive_task,Args填写归档配置ID列表(不填写则默认调度所有配置),如[1,2],schedule仅会获取审核通过+启用状态的配置
  • 暂时还没有归档状态的通知,可以自行写脚本查询相关表的数据

依赖权限

权限CODE 权限名称 权限说明
menu_archive 菜单 数据归档 菜单权限
archive_apply 提交归档申请 可以提交数据归档申请
archive_review 审核归档申请 可以审核数据归档申请
archive_mgt 管理归档申请 可以启用禁用归档配置

归档参数

官方文档:https://www.percona.com/doc/percona-toolkit/3.0/pt-archiver.html
除前台可以修改的参数外,还有以下默认的归档参数,无法修改

{
        "no-version-check": True,
        "progress": 5000,
        "statistics": True,
        "limit": 10000,
        "txn-size": 1000,
        "bulk-insert": True,
        "bulk-delete": True,
    }

操作说明

  • 增加归档配置
    可以由用户主动申请,审核通过,也可以由管理用户直接在添加
  • 修改归档配置
    管理员可以修改、禁用启用归档配置
  • 立即归档
    管理用户可以手动触发归档,该动作仅执行一次

Binlog2SQL

功能说明

将Binlog2SQL模块可视化,从MySQL binlog解析出你要的SQL。根据不同选项,你可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等,支持异步获取文件,并且通知执行结果,项目地址

依赖权限

权限CODE 权限名称 权限说明
menu_binlog2sql 菜单 Binlog2SQL 该权限包括菜单和操作权限

安装配置

  • 安装Binlog2SQL,以centos为例,docker镜像已包含
   git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql
   pip install -r requirements.txt
  • 在系统管理-配置项管理中修改BINLOG2SQL为程序路径,路径需要完整到py文件,docker部署的请修改为'/opt/archery/src/plugins/binlog2sql/binlog2sql.py'

SchemaSync

功能说明

对比不同数据库的Schema信息,输出修改语句和回滚语句,SchemaSync不仅限于表结构,它可以处理的对象还有:视图、事件、存储过程、函数、触发器、外键,项目地址

安装配置(v1.7.7以及以上版本无需配置)

  • 安装SCHEMASYNC(依赖Python2),以centos为例,docker镜像已包含
 virtualenv venv4schemasync  --python=python2 \
 source venv4schemasync/bin/activate \
 yum install -y python-devel \
 pip install schema-sync mysql-python
  • 在系统管理-配置项管理中修改SCHEMASYNC为程序路径,路径需要完整,docker部署的请修改为'/opt/venv4schemasync/bin/schemasync'