开源 MySQL 脚本审核工具 Archery
介绍
Archery是archer的分支项目,定位于SQL审核查询平台,旨在提升DBA的工作效率,支持多数据库的SQL上线和查询,同时支持丰富的MySQL运维功能,所有功能都兼容手机端操作
功能清单
查询
|
审核
|
执行
|
备份
|
数据字典
|
慢日志
|
会话管理
|
账号管理
|
参数管理
|
数据归档
|
|
MySQL
|
√
|
√
|
√
|
√
|
√
|
√
|
√
|
√
|
√
|
√
|
MsSQL
|
√
|
×
|
√
|
×
|
×
|
×
|
×
|
×
|
×
|
×
|
Redis
|
√
|
×
|
√
|
×
|
×
|
×
|
×
|
×
|
×
|
×
|
PgSQL
|
√
|
×
|
√
|
×
|
×
|
×
|
×
|
×
|
×
|
×
|
Oracle
|
√
|
×
|
√
|
✔️
|
×
|
×
|
×
|
×
|
×
|
×
|
MongoDB
|
√
|
√
|
√
|
×
|
×
|
×
|
×
|
×
|
×
|
×
|
快速开始
系统体验
账号
|
密码
|
archer
|
archer
|
Docker
准备运行配置
启动
下载 Releases文件,解压后进入docker-compose文件夹
#启动 docker-compose -f docker-compose.yml up -d #表结构初始化 docker exec -ti archery /bin/bash cd /opt/archery source /opt/venv4archery/bin/activate python3 manage.py makemigrations sql python3 manage.py migrate #数据初始化 python3 manage.py dbshell<sql/fixtures/auth_group.sql python3 manage.py dbshell<src/init_sql/mysql_slow_query_review.sql #创建管理用户 python3 manage.py createsuperuser #重启服务 docker restart archery #日志查看和问题排查 docker logs archery -f --tail=10 logs/archery.log
访问
手动安装
运行测试
python manage.py test -v 3
依赖清单
框架
前端组件
- 菜单栏 metisMenu
- 主题 sb-admin-2
- 编辑器 ace
- SQL美化 sql-formatter
- 表格 bootstrap-table
- 表格编辑 bootstrap-editable
- 下拉菜单 bootstrap-select
- 文件上传 bootstrap-fileinput
- 时间选择 bootstrap-datetimepicker
- 日期选择 daterangepicker
- 开关 bootstrap-switch
- Markdown展示 marked
服务端
- 队列任务 django-q
- MySQL Connector mysqlclient-python
- MsSQL Connector pyodbc
- Redis Connector redis-py
- PostgreSQL Connector psycopg2
- Oracle Connector cx_Oracle
- SQL解析/切分/类型判断 sqlparse
- MySQL Binlog解析/回滚 python-mysql-replication
- LDAP django-auth-ldap
- 序列化 simplejson
- 时间处理 python-dateutil
功能依赖
- 可视化 pyecharts
- MySQL审核/执行/备份 goInception|inception
- MySQL索引优化 SQLAdvisor
- SQL优化/压缩 SOAR
- Binlog2SQL binlog2sql
- 表结构同步 SchemaSync
- 慢日志解析展示 pt-query-digest|aquila_v2
- 大表DDL gh-ost|pt-online-schema-change
- MyBatis XML解析 mybatis-mapper2sql
- RDS管理 aliyun-openapi-python-sdk
- 数据加密 django-mirage-field
贡献代码
可查阅主页的开发计划以及依赖清单,在对应issues中回复认领,或者直接提交PR,感谢你对Archery的贡献
贡献包括但不限于以下方式:
- Wiki文档(开放编辑)
- Bug修复
- 新功能提交
- 代码优化
- 测试用例完善
问题反馈
更多动态请关注微信公众号 dbagrant