基于Query

70次阅读
没有评论

共计 3444 个字符,预计需要花费 9 分钟才能阅读完成。

这期内容当中丸趣 TV 小编将会给大家带来有关基于 Query-Digest-UI 对 mysql 慢日志 web 可视化是怎么样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

Query-Digest-UI 是一款基于 percona-toolkit 管理工具中 pt-query-digest 的对 MySQL 慢查询日志进行监控并结合 lamp 以图形化展示的工具。

结构图如下:

一、准备工作:
1.  Apache, mod_php, php_pdo
2.  安装:perl-DBD-MySQL-3.0007-2.el5
但是安装此模块时,可能会报错:
libmysqlclient.so.15()(64bit) is needed by perl-DBD-MySQL-3.0007-2.el5.x86_64
libmysqlclient.so.15(libmysqlclient_15)(64bit) is needed by perl-DBD-MySQL-3.0007-2.el5.x86_64
需要安装 或   提供 libmysqlclient.so.15
可在 /usr/lib 或者 /usr/lib64 下,对 libmysqlclient.so.16 或 libmysqlclient.so.18 建立软连接:libmysqlclient.so.15
ln -s /usr/lib64/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.15
二、安装
1.Query-Digest-UI 是依赖对 pt-query-digest 工具对慢日志的分析,所以要安装 percona_toolkit
下载 percona-toolkit_2.2.17-1.tar.gz
安装:
#perl  Makefile.PL
#make
#make install
2. 安装 LAMP
3. 下载安装 Query-Digest-UI
官网下载地址:https://github.com/kormoc/Query-Digest-UI
更改版下载:https://pan.baidu.com/share/link?shareid=3651139099 uk=2550236109   (网上提供的,我用的是这版)
query-digest-ui_last-edition.zip
解压更名放到 /var/www/html/slow
4. 创建库和表
1.install.sql    
Query-Digest-UI 没有这个脚本,要到 Anemomete 里找这个 sql,下载地址:https://github.com/box/Anemometer     Anemometer 和  Query-Digest-UI 是一样的都是为 mysql 慢日志提供可视化的。
2. 创建用户(数据库:192.168.1.1,lamp+Query-Digest-UI:192.168.1.2)
 grant all on
slow_query_log.* to slow @ 192.168.1.1 identified by test   在搭建 lamp 的机器上,让线上的数据库的机器能向 slow_query_log 库插入数据
 grant all on slow_query_log.* to slow @ localhost identified by test
 grant select on *.* to   slow_1 @ 192.168.1.2   在线上数据库上    select on *.* 是为了看执行计划
5. 配置 Query-Digest-UI
# pwd
/var/www/html/slow
#cp config.php.example config.php     更改版就直接有这个文件了
#vim config.php
…….
$reviewhost = array(
// Replace hostname and database in this setting
// use host=hostname;port=portnum if not the default port
    dsn           = mysql:host=192.168.1.2;port=3306;dbname=slow_query_log ,
    user          = slow ,
    password      = test ,
// See http://www.percona.com/doc/percona-toolkit/2.1/pt-query-digest.html#cmdoption-pt-query-digest–review
    review_table  = global_query_review ,
// This table is optional. You don t need it, but you lose detailed stats
// Set to a blank string to disable
// See http://www.percona.com/doc/percona-toolkit/2.1/pt-query-digest.html#cmdoption-pt-query-digest–review-history
    history_table = global_query_review_history ,
);

下面是执行计划配置的了
$explainhosts = array(
    label1   = array(
        dsn       = mysql:host=192.168.1.1;port=3306 ,
        user      = slow_1 ,
        password  = test ,
    // By default we scan the host to see what databases we can run a
    // explain on. To disable this behavour, set an array here
        databases = array(
            database1 ,
            database2 ,
    ……..
        ),
    ),
    label2   = array(
        dsn       = mysql:host=;port=3306 ,
        user      = ,
        password  = ,
    // You can also just set the field and keep it empty. We will scan for valid databases
        databases = array(),

6. 开始收集数据
用 pt-query-digest 工具在线上执行想线下的 lamp 的数据库推送数据
 pt 版本小于 2.2 版本的语句:
pt-query-digest –user=slow –password=test –review h=192.168.1.2,D=slow_query_log,t=global_query_review –history h=192.168.1.2,D=slow_query_log,t=global_query_review_history –no-report –limit=0% –filter= \$event- {Bytes} = length(\$event- {arg}) and \$event- {hostname}=\ $HOSTNAME\ /data/mysql/mysql_3306/logs/slow.log

pt 版本大于 2.2 版本的语句:
pt-query-digest –user=slow –password=test –review h=192.168.1.2,D=slow_query_log,t=global_query_review –history h=192.168.1.2,D=slow_query_log,t=global_query_review_history –no-report –limit=0% –filter= \$event- {Bytes} = length(\$event- {arg}) and \$event- {hostname}=\ $HOSTNAME\ /data/mysql/mysql_3306/logs/slow.log

好了

进入页面了
http://192.168.1.2/slow
就可以看到慢日志了。。。。。

上述就是丸趣 TV 小编为大家分享的基于 Query-Digest-UI 对 mysql 慢日志 web 可视化是怎么样的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-19发表,共计3444字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)