官方:https://github.com/hhyo/Archery
介绍
Archery是archer的分支项目,定位于SQL审核查询平台,旨在提升DBA的工作效率,支持多数据库的SQL上线和查询,同时支持丰富的MySQL运维功能,所有功能都兼容手机端操作
功能清单
查询 | 审核 | 执行 | 备份 | 数据字典 | 慢日志 | 会话管理 | 账号管理 | 参数管理 | 数据归档 | |
MySQL | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ |
MsSQL | √ | × | √ | × | √ | × | × | × | × | × |
Redis | √ | × | √ | × | × | × | × | × | × | × |
PgSQL | √ | × | √ | × | × | × | × | × | × | × |
Oracle | √ | √ | √ | √ | √ | × | × | × | × | × |
MongoDB | √ | √ | √ | × | × | × | × | × | × | × |
Phoenix | √ | × | √ | × | × | × | × | × | × | × |
ODPS | √ | × | × | × | × | × | × | × | × | × |
ClickHouse | √ | √ | √ | × | × | × | × | × | × | × |
安装
docker-compose安装
下载 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
访问
http://127.0.0.1:9123/
界面:
安装中出现的问题
- 初始化数据时提示mysql不支持命令行输入密码。可以无视,不影响使用。mysql5.6以后就会有这个报错
- mysql无法启动,报mysqld: File '/var/log/mysql/mysql-bin.index' not found (Errcode: 2 - No such file or directory)
解决办法:修改my.cnf
log_bin这一行注释掉
然后启动容器后执行
docker exec mysql bash -c "echo 'log-bin=/var/lib/mysql/mysql-bin' >> /etc/mysql/my.cnf"
启动正常
修改端口
直接修改配置文件的端口即可
EXPOSE不占用主机端口,只给其他容器使用,ports是占用主机端口,给所有主机和容器使用。