Skip to content
xiaowu edited this page Dec 13, 2023 · 6 revisions

工具插件

PTArchiver

功能说明

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

安装配置

  • 需要下载percona-toolkit,安装在Archery部署机器上面

    以docker部署方式举例

    • 以docker方式部署,基础镜像默认是centos7
    • 下载对应toolkit包: 企业微信截图_1702437865931
    • 将下载好的rpm包放到archery容器内
    • 执行解压命令,即可完成安装: rpm2cpio percona-toolkit-3.5.5-1.el7.x86_64.rpm|cpio -div
  • 在系统配置中配置设置数据归档申请审批流程

  • 在管理后台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,
    }

操作说明

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

My2SQL

功能说明

功能类似于Binlog2SQL,通过多线程以更高的性能快速解析binlog。支持回滚、去除主键、去db前缀及分表输出文件等多种解析模式,并拥有完备的过滤筛选项;支持异步获取文件,并且通知执行结果,项目地址

依赖权限

权限CODE 权限名称 权限说明
menu_my2sql 菜单 My2SQL 该权限包括菜单和操作权限

安装配置

  • 安装My2SQL,以centos为例,docker镜像已包含
   方法1.手动编译
   yum -y install golang
   mkdir -p /root/go/src
   cd /root/go/src
   git clone https://github.com/liuhr/my2sql.git && cd my2sql/
   go build .

   方法2.下载已编译二进制文件
   wget https://raw.githubusercontent.com/liuhr/my2sql/master/releases/centOS_release_7.x/my2sql -O my2sql \
   chmod a+x my2sql
  • 在系统管理-配置项管理中修改MY2SQL为程序路径,docker部署的请修改为'/opt/archery/src/plugins/my2sql'

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'