Ubuntu 美团sql优化工具SQLAdvisor的安装(转)
by2009
发表于 3 个月前
SQLAdvisor简介
SQLAdvisor是由美团点评公司技术工程部DBA团队(北京)开发维护的一个分析SQL给出索引优化建议的工具。它基于MySQL原生态词法解析,结合分析SQL中的where条件、聚合条件、多表Join关系 给出索引优化建议。目前SQLAdvisor在美团点评内部广泛应用,公司内部对SQLAdvisor的开发全面转到github上,开源和内部使用保持一致,主要功能:输出SQL索引优化建议,github地址
下边记录一下在ubuntu 上安装的过程
|
1
2
3
|
#系统信息root@d:~/SQLAdvisor/sqladvisor# uname -aLinux d 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux |
1、拉取代码
|
1
|
git clone https://github.com/Meituan-Dianping/SQLAdvisor.git |
2、安装依赖项
|
1
2
3
4
|
apt-get install cmake libaio-dev libffi-devapt-get install libglib2.0-devapt-get install libperconaserverclient18.1-devapt-get install g++ |
percona的安装参考 https://www.percona.com/doc/percona-server/5.6/installation/apt_repo.html
|
1
2
3
4
|
wget https://repo.percona.com/apt/percona-release_0.1-4.$(lsb_release -sc)_all.debdpkg -i percona-release_0.1-4.$(lsb_release -sc)_all.debapt-get updateapt-get install percona-server-server-5.7 |
3、编译依赖项sqlparser
|
1
2
|
cmake -DBUILD_CONFIG=mysql_release -DCMAKE_BUILD_TYPE=debug -DCMAKE_INSTALL_PREFIX=/usr/local/sqlparser ./make && make install |
4、编译安装SQLAdvisor源码
|
1
2
3
|
cd SQLAdvisor/sqladvisor/cmake -DCMAKE_BUILD_TYPE=debug ./make #在本路径下生成一个sqladvisor可执行文件,即是我们想要的 |
5、测试:

备注:
如果在第4步中出现类似错误:glibconfig.h: No such file or directory
解决方法(摘自README):跟据glib安装的路径,修改SQLAdvisor/sqladvisor/CMakeLists.txt中的两处include_directories针对glib设置的path
glib 的 path 可以通过命令来查找:find / -name 'glibconfig.h' 找到后 替换一下include_directories就可以了
原文地址:http://www.by2009.com/a/135.html
2017-12-28更新:
上面提到的问题我碰到了,也许是编译C源码少的原因,或这作者假定了一些前置至少,自此做个补充,上文中提到缺少’glibconfig.h‘的错误,我用“fing”命令找到路径和文件后,将两个关于glib的“include_directories”的设置都设置到了“/usr/lib/i386-linux-gnu/glib-2.0/....”
发现有提示提示“glib.h”找不到,我仔细看了下官网的默认CMakeList.txt文件,发现下面的是默认是从“/usr/include/...”开始的,我用“find”查找“glib.h”发现路径是“/usr/include/glib-2.0/glib.h”和官网默认路径相同,因此这里就不能按照上面文章查到的“/usr/lib/i386-linux-gnu/glib-2.0/....”而应该再““/usr/include/...”中去找头文件,最后make成功,整体配置文件如下:
cmake_minimum_required (VERSION 2.6)
project(sqladvisor)
# /usr/local/sqlparser为sqlparser库安装目录,必要时进行修改
include_directories("/usr/local/sqlparser/include")
include_directories("/usr/local/sqlparser/include/regex")
include_directories("/usr/lib/i386-linux-gnu/glib-2.0/include")
include_directories("/usr/include/glib-2.0")
link_directories("/usr/local/sqlparser/lib")
link_directories("/usr/lib64")
set(TEST_SRC main.cc)
add_executable(sqladvisor ${TEST_SRC})
#如果是sqlparser debug库,则应连接的库为sqlparser-debug
target_link_libraries(sqladvisor sqlparser-debug)
target_link_libraries(sqladvisor perconaserverclient_r)
target_link_libraries(sqladvisor glib-2.0)
2018-01-09更新:
Ubuntu下的安装成功的步骤梳理,给大家参考 :
1.拉取代码
git clone https://github.com/Meituan-Dianping/SQLAdvisor.git
2.安装依赖项
apt-get install cmake libaio-dev libffi-dev
apt-get install libglib2.0-dev
apt-get install libperconaserverclient18.1-dev
//g++不知道有没有起作用,中间各种出错后尝试安装了他
apt-get install g++
percona的安装参考 https://www.percona.com/doc/percona-server/5.6/installation/apt_repo.html
3.编译依赖项sqlparser
cmake -DBUILD_CONFIG=mysql_release -DCMAKE_BUILD_TYPE=debug -DCMAKE_INSTALL_PREFIX=/usr/local/sqlparser ./
make && make install
4.安装SQLAdvisor源码
cd SQLAdvisor/sqladvisor/
cmake -DCMAKE_BUILD_TYPE=debug ./
make
在本路径下生成一个sqladvisor可执行文件,这即是我们想要的。
Ubuntu 美团sql优化工具SQLAdvisor的安装(转)的更多相关文章
- centos下美团sql优化工具SQLAdvisor的安装
1.克隆代码 cd /usr/local/src/git clone https://github.com/Meituan-Dianping/SQLAdvisor.git 2.安装依赖(ubuntu下 ...
- 美团SQL优化工具SQLAdvisor
介绍 在数据库运维过程中,优化 SQL 是 DBA 团队的日常任务.例行 SQL 优化,不仅可以提升程序性能,还能够降低线上故障的概率. 目前常用的 SQL 优化方式包括但不限于:业务层优化.SQL逻 ...
- Centos7安装美团SQL优化工具SQLAdvisor
1 下载源码 git clone https://github.com/Meituan-Dianping/SQLAdvisor.git 2 安装依赖环境 yum install cmake libai ...
- sql优化工具SQLAdvisor的安装
原文地址:https://www.cnblogs.com/beliveli/articles/6541936.html 本机安装包路径: D:\share\src\linux-mysql\sqlAdv ...
- 美团点评SQL优化工具SQLAdvisor开源快捷部署
美团点评SQL优化工具SQLAdvisor开源快捷部署 git clone https://github.com/Meituan-Dianping/SQLAdvisor.gityum install ...
- 美团开源 SQL 优化工具 SQLAdvisor
https://www.oschina.net/news/82725/sqladvisor-opensource https://github.com/Meituan-Dianping/SQLAdvi ...
- SQL优化工具SQLAdvisor使用
一.简介在数据库运维过程中,优化SQL是业务团队与DBA团队的日常任务.例行SQL优化,不仅可以提升程序性能,还能够降低线上故障的概率. 目前常用的SQL优化方式包括但不限于:业务层优化.SQL逻辑优 ...
- SQL优化工具SQLAdvisor使用(转)
一.简介 在数据库运维过程中,优化SQL是业务团队与DBA团队的日常任务.例行SQL优化,不仅可以提升程序性能,还能够降低线上故障的概率. 目前常用的SQL优化方式包括但不限于:业务层优化.SQL逻辑 ...
- sql优化工具--美团SQLAdvisor
美团点评SQL优化工具SQLAdvisor开源 介绍 在数据库运维过程中,优化 SQL 是 DBA 团队的日常任务.例行 SQL 优化,不仅可以提升程序性能,还能够降低线上故障的概率. 目前常用的 S ...
随机推荐
- bzoj1025 [SCOI2009]游戏 动态规划
题目描述 对于一些长度为n的排列,将其作为一个置换,那么可能有一个自置换的次数使其回到1,2,3,...,n的情况.求对于所有能够回到1,2,3..,n的排列,不同的次数共有多少种. 题解来自黄学长 ...
- 学习参考《高性能MySQL(第3版)》中文PDF+英文PDF
学习mysql数据库时推荐看看mysql 领域的经典之作<高性能mysql(第3版)>,共分为16 章和6 个附录,内容涵盖mysql 架构和历史,基准测试和性能剖析,数据库软硬件性能优化 ...
- iptables指南
在了解iptables之前我们先了解一下 防火墙 的概念防火墙是由Check Point创立者Gil Shwed于1993年发明并引入国际互联网,防火墙也是一种位于内部网络与外部网络之间的网络安全系统 ...
- 今日SGU 5.30
SGU 190 题意:给你个n*n的矩形,然后上面有几个点不能放东西,然后问你能不能用1*2的矩形,把能放 东西的地方放满 收获:一开始想的是,dfs,然后感觉这样的话,代码很长,而且很容易超时, 看 ...
- Java基础学习总结(18)——网络编程
一.网络基础概念 首先理清一个概念:网络编程 != 网站编程,网络编程现在一般称为TCP/IP编程. 二.网络通信协议及接口 三.通信协议分层思想 四.参考模型 五.IP协议 每个人的电脑都有一个独一 ...
- ECNUOJ 2150 完美的拯救
完美的拯救 Time Limit:1000MS Memory Limit:65536KBTotal Submit:147 Accepted:50 Description 一只可怜的蚂蚁被万恶的魔术师 ...
- 利用NSProxy解决NSTimer内存泄漏问题
之前写过一篇利用RunTime解决由NSTimer导致的内存泄漏的文章,最近和同事讨论觉得这样写有点复杂,然后发现有NSProxy这么好用的根类,根类,根类,没错NSProxy与NSObject一样是 ...
- Android异步载入全解析之开篇瞎扯淡
Android异步载入 概述 Android异步载入在Android中使用的很广泛,除了是由于避免在主线程中做网络操作.更是为了避免在显示时由于时间太长而造成ANR,添加显示的流畅性,特别是像List ...
- Windows安装两个mysql数据库步骤
因为新旧项目数据库版本号差距太大.编码格式不同.引擎也不同,所以仅仅好装两个数据库. 本次安装两个mysql数据库.版本号各自是4.0.18,5.5.36.都是可运行文件直接安装. 本机上之前已经安装 ...
- UltraEdit Companion Utility
UltraEdit Companion Utility 配色组件 http://www.danielwmoore.com/extras/index.php?action=downloads;sa=vi ...