mysql 审核平台_数据库审核之平台使用篇

简介

上一篇安装篇已经介绍了平台的安装,这一篇就以mysql为例说明如何对数据库进行审核

针对数据库的审核从四个维度进行,对象、执行计划、执行特征、文本。

开始配置

首先在美团云的操作界面的数据库一栏申请一台mysql5.6或者mysql5.7的机器,设置好账号与密码

等数据库启动了,就可以在settings.py进行如下配置,需要对多台实例审核就配置多个条目为目标需要被审核的机器的信息

MYSQL_ACCOUNT = {

"ip1:port": ["mysql", "username", "password"],

"ip2:port": ["mysql", "username", "password"]

}

账号应该有select所有表的权限

配置好以上之后,重启服务

supervisorctl -u username -p password reload

这样我们就可以进行对数据库对象进行审核了

为了测试方便,我提前在审核的目标数据库里加了一些测试数据

审核对象

在浏览器中打开http://ip:7000

0a204148151b27fa2390f12704c9ad0b.png

发布任务

选择上边的发布任务,再选择下边的ip地址,端口号,schema等即可发布任务

然后就可以在任务详情里查看任务的执行结果,如下图

411b4f5ffdb7a0a5a038b99b74944add.png

对象审核总分

d9b2c7f4c91050dc6517ef606b241264.png

对象扣分详情

配置pt-query-digest

mysql数据库的审核没有针对所有的sql,而是预先使用pt-query-digest工具将较慢的sql抓取出来保存,后面只分析这些较慢的sql

wget percona.com/get/pt-query-digest

chmod +x pt-query-digest

从美团云上将慢查询日志拉取下来,使用pt-query-digest工具将其导入到mysql中,这一步可以做成crontab,定期拉取,这里是为了测试

./pt-query-digest --user=username --password=password --review h=127.0.0.1,D=slow_query_log,t=global_query_review --history h=127.0.0.1,D=slow_query_log,t=global_query_review_history --no-report --limit=0% --since=17h --filter=" \$event->{Bytes} = length(\$event->{arg}) and \$event->{hostname}='ip:port' and \$event->{client}=\$event->{ip}" slow.log

根据实际情况配置好上面的机器地址,端口号,账号和密码,hostname后的ip:port需要配置成目标机器的ip和端口,这唯一的确定了一个实例

执行计划审核

发布任务同对象审核,结果如下:

501272ceb37f62f07cbc3c7c4424c6e2.png

执行计划总扣分

3eae2f6345a7703d7615fc8433e232b7.png

执行计划扣分详情

check_cost.jpeg

执行计划扣分规则

文本审核

文本的审核主要是针对sql语句,如sql过长,嵌套太多子查询等,审核结果如下

cd5758e5ddc4d5d2d91418494d7885f8.png

文本审核结果,包括sql的checksum,SQL语句等

执行特征审核

规则较少,就不展示了,使用方法同上

总结

使用该平台可以帮助开发人员或者dba快速的发现sql的质量问题,提升工作效率

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值