soar以及web页面安装使用

  1. soar下载安装

    1. 下载使用下载地址
    2. windows下将文件重命名为soar.exe,linux下赋予执行权限
    3. 在soar同级目录下创建etc文件夹,创建soar.yaml (不配置也行,会少了EXPLAIN分析)
      # 线上环境配置
      online-dsn:
        addr: 127.0.0.1:3306
        schema: compstore2
        user: root
        password: 123456
        disable: false
      # 测试环境配置
      test-dsn:
        addr: 127.0.0.1:3306
        schema: compstore2
        user: root
        password: 123456
        disable: false
      # 是否允许测试环境与线上环境配置相同
      allow-online-as-test: true
      # 是否清理测试时产生的临时文件
      drop-test-temporary: true
      # 语法检查小工具
      only-syntax-check: false
      sampling-statistic-target: 100
      sampling: false
      # 日志级别,[0:Emergency, 1:Alert, 2:Critical, 3:Error, 4:Warning, 5:Notice, 6:Informational, 7:Debug]
      log-level: 7
      log-output: etc/soar.log
      # 优化建议输出格式
      report-type: markdown
      ignore-rules:
      - ""
      # 黑名单中的 SQL 将不会给评审意见。一行一条 SQL,可以是正则也可以是指纹,填写指纹时注意问号需要加反斜线转义。
      blacklist: etc/soar.blacklist
      # 启发式算法相关配置
      max-join-table-count: 5
      max-group-by-cols-count: 5
      max-distinct-count: 5
      max-index-cols-count: 5
      max-total-rows: 9999999
      spaghetti-query-length: 2048
      allow-drop-index: false
      # EXPLAIN相关配置
      explain-sql-report-type: pretty
      explain-type: extended
      explain-format: traditional
      explain-warn-select-type:
      - ""
      explain-warn-access-type:
      - ALL
      explain-max-keys: 3
      explain-min-keys: 0
      explain-max-rows: 10000
      explain-warn-extra:
      - ""
      explain-max-filtered: 100
      explain-warn-scalability:
      - O(n)
      query: ""
      list-heuristic-rules: false
      list-test-sqls: false
      verbose: true
      
    4. 使用
      1. 给出优化建议(windows下无法使用echo)soar.exe -query sql.sql
      2. 美化sql type .\sql.sql |.\soar.exe -report-type=pretty
    5. 可视化soar-web安装
      1. 克隆项目soar-web项目
      2. 安装python环境(安装步骤省略) 我这里用的目前最新的3.9.5
      3. 安装依赖pip install Flask pymysql pycryptodome
      4. 启动用脚本或者手动都行python .\soar-web.py
      5. 打开浏览器访问http://127.0.0.1:5077就行
    6. 可视化soar-web使用
      1. 配置(不配置也行,会少了EXPLAIN分析)
      2. 评估,美化,压缩,其他大家按需求使用

    6.参考
    小米SOAR工具使用说明(Windows)
    soar项目
    soar-web项目

posted @ 2021-06-14 11:14  JaminYe  阅读(375)  评论(0编辑  收藏  举报