最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

對MySQL慢查詢?nèi)罩具M行分析的基本教程

 更新時間:2015年12月23日 15:24:28   作者:zdz  
這篇文章主要介紹了對MySQL慢查詢?nèi)罩具M行分析的基本教程,文中提到的Query-Digest-UI這個基于B/S的圖形化查看工具非常好用,需要的朋友可以參考下

0、首先查看當前是否開啟慢查詢:

(1)快速辦法,運行sql語句

show VARIABLES like "%slow%" 

(2)直接去my.conf中查看。

my.conf中的配置(放在[mysqld]下的下方加入)

[mysqld]

log-slow-queries = /usr/local/mysql/var/slowquery.log
long_query_time = 1 #單位是秒
log-queries-not-using-indexes


使用sql語句來修改:不能按照my.conf中的項來修改的。修改通過"show VARIABLES like "%slow%" "
語句列出來的變量,運行如下sql:

set global log_slow_queries = ON;
set global slow_query_log = ON;
set global long_query_time=0.1; #設置大于0.1s的sql語句記錄下來

慢查詢?nèi)罩疚募男畔⒏袷剑?/p>

# Time: 130905 14:15:59   時間是2013年9月5日 14:15:59(前面部分容易看錯哦,乍看以為是時間戳)
# User@Host: root[root] @ [183.239.28.174] 請求mysql服務器的客戶端ip
# Query_time: 0.735883 Lock_time: 0.000078 Rows_sent: 262 Rows_examined: 262 這里表示執(zhí)行用時多少秒,0.735883秒,1秒等于1000毫秒

SET timestamp=1378361759;  這目前我還不知道干嘛用的
show tables from `test_db`; 這個就是關鍵信息,指明了當時執(zhí)行的是這條語句


1、MySQL 慢查詢?nèi)罩痉治?br /> pt-query-digest分析慢查詢?nèi)罩?br />

pt-query-digest –report slow.log

報告最近半個小時的慢查詢:

pt-query-digest –report –since 1800s slow.log

報告一個時間段的慢查詢:

pt-query-digest –report –since ‘2013-02-10 21:48:59′ –until ‘2013-02-16 02:33:50′ slow.log

報告只含select語句的慢查詢:

pt-query-digest –filter ‘$event->{fingerprint} =~ m/^select/i' slow.log

報告針對某個用戶的慢查詢:

pt-query-digest –filter ‘($event->{user} || “”) =~ m/^root/i' slow.log

報告所有的全表掃描或full join的慢查詢:

pt-query-digest –filter ‘(($event->{Full_scan} || “”) eq “yes”) || (($event->{Full_join} || “”) eq “yes”)' slow.log


2、將慢查詢?nèi)罩镜姆治鼋Y果可視化
Query-Digest-UI
其實,這是一個非常簡單和直接的工具,瀏覽和統(tǒng)計Mysql慢查詢,基于AJAX的Web界面。
配置Query-Digest-UI:

下載:

wget https://nodeload.github.com/kormoc/Query-Digest-UI/zip/master
 unzip Query-Digest-UI-master.zip

查詢分析結果可視化步驟如下:

(1)創(chuàng)建相關數(shù)據(jù)庫表

-- install.sql
-- Create the database needed for the Query-Digest-UI
DROP DATABASE IF EXISTS slow_query_log;
CREATE DATABASE slow_query_log;
USE slow_query_log;
 
-- Create the global query review table
CREATE TABLE `global_query_review` (
 `checksum` bigint(20) unsigned NOT NULL,
 `fingerprint` text NOT NULL,
 `sample` longtext NOT NULL,
 `first_seen` datetime DEFAULT NULL,
 `last_seen` datetime DEFAULT NULL,
 `reviewed_by` varchar(20) DEFAULT NULL,
 `reviewed_on` datetime DEFAULT NULL,
 `comments` text,
 `reviewed_status` varchar(24) DEFAULT NULL,
 PRIMARY KEY (`checksum`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
-- Create the historical query review table
CREATE TABLE `global_query_review_history` (
 `hostname_max` varchar(64) NOT NULL,
 `db_max` varchar(64) DEFAULT NULL,
 `checksum` bigint(20) unsigned NOT NULL,
 `sample` longtext NOT NULL,
 `ts_min` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
 `ts_max` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
 `ts_cnt` float DEFAULT NULL,
 `Query_time_sum` float DEFAULT NULL,
 `Query_time_min` float DEFAULT NULL,
 `Query_time_max` float DEFAULT NULL,
 `Query_time_pct_95` float DEFAULT NULL,
 `Query_time_stddev` float DEFAULT NULL,
 `Query_time_median` float DEFAULT NULL,
 `Lock_time_sum` float DEFAULT NULL,
 `Lock_time_min` float DEFAULT NULL,
 `Lock_time_max` float DEFAULT NULL,
 `Lock_time_pct_95` float DEFAULT NULL,
 `Lock_time_stddev` float DEFAULT NULL,
 `Lock_time_median` float DEFAULT NULL,
 `Rows_sent_sum` float DEFAULT NULL,
 `Rows_sent_min` float DEFAULT NULL,
 `Rows_sent_max` float DEFAULT NULL,
 `Rows_sent_pct_95` float DEFAULT NULL,
 `Rows_sent_stddev` float DEFAULT NULL,
 `Rows_sent_median` float DEFAULT NULL,
 `Rows_examined_sum` float DEFAULT NULL,
 `Rows_examined_min` float DEFAULT NULL,
 `Rows_examined_max` float DEFAULT NULL,
 `Rows_examined_pct_95` float DEFAULT NULL,
 `Rows_examined_stddev` float DEFAULT NULL,
 `Rows_examined_median` float DEFAULT NULL,
 `Rows_affected_sum` float DEFAULT NULL,
 `Rows_affected_min` float DEFAULT NULL,
 `Rows_affected_max` float DEFAULT NULL,
 `Rows_affected_pct_95` float DEFAULT NULL,
 `Rows_affected_stddev` float DEFAULT NULL,
 `Rows_affected_median` float DEFAULT NULL,
 `Rows_read_sum` float DEFAULT NULL,
 `Rows_read_min` float DEFAULT NULL,
 `Rows_read_max` float DEFAULT NULL,
 `Rows_read_pct_95` float DEFAULT NULL,
 `Rows_read_stddev` float DEFAULT NULL,
 `Rows_read_median` float DEFAULT NULL,
 `Merge_passes_sum` float DEFAULT NULL,
 `Merge_passes_min` float DEFAULT NULL,
 `Merge_passes_max` float DEFAULT NULL,
 `Merge_passes_pct_95` float DEFAULT NULL,
 `Merge_passes_stddev` float DEFAULT NULL,
 `Merge_passes_median` float DEFAULT NULL,
 `InnoDB_IO_r_ops_min` float DEFAULT NULL,
 `InnoDB_IO_r_ops_max` float DEFAULT NULL,
 `InnoDB_IO_r_ops_pct_95` float DEFAULT NULL,
 `InnoDB_IO_r_bytes_pct_95` float DEFAULT NULL,
 `InnoDB_IO_r_bytes_stddev` float DEFAULT NULL,
 `InnoDB_IO_r_bytes_median` float DEFAULT NULL,
 `InnoDB_IO_r_wait_min` float DEFAULT NULL,
 `InnoDB_IO_r_wait_max` float DEFAULT NULL,
 `InnoDB_IO_r_wait_pct_95` float DEFAULT NULL,
 `InnoDB_IO_r_ops_stddev` float DEFAULT NULL,
 `InnoDB_IO_r_ops_median` float DEFAULT NULL,
 `InnoDB_IO_r_bytes_min` float DEFAULT NULL,
 `InnoDB_IO_r_bytes_max` float DEFAULT NULL,
 `InnoDB_IO_r_wait_stddev` float DEFAULT NULL,
 `InnoDB_IO_r_wait_median` float DEFAULT NULL,
 `InnoDB_rec_lock_wait_min` float DEFAULT NULL,
 `InnoDB_rec_lock_wait_max` float DEFAULT NULL,
 `InnoDB_rec_lock_wait_pct_95` float DEFAULT NULL,
 `InnoDB_rec_lock_wait_stddev` float DEFAULT NULL,
 `InnoDB_rec_lock_wait_median` float DEFAULT NULL,
 `InnoDB_queue_wait_min` float DEFAULT NULL,
 `InnoDB_queue_wait_max` float DEFAULT NULL,
 `InnoDB_queue_wait_pct_95` float DEFAULT NULL,
 `InnoDB_queue_wait_stddev` float DEFAULT NULL,
 `InnoDB_queue_wait_median` float DEFAULT NULL,
 `InnoDB_pages_distinct_min` float DEFAULT NULL,
 `InnoDB_pages_distinct_max` float DEFAULT NULL,
 `InnoDB_pages_distinct_pct_95` float DEFAULT NULL,
 `InnoDB_pages_distinct_stddev` float DEFAULT NULL,
 `InnoDB_pages_distinct_median` float DEFAULT NULL,
 `QC_Hit_cnt` float DEFAULT NULL,
 `QC_Hit_sum` float DEFAULT NULL,
 `Full_scan_cnt` float DEFAULT NULL,
 `Full_scan_sum` float DEFAULT NULL,
 `Full_join_cnt` float DEFAULT NULL,
 `Full_join_sum` float DEFAULT NULL,
 `Tmp_table_cnt` float DEFAULT NULL,
 `Tmp_table_sum` float DEFAULT NULL,
 `Filesort_cnt` float DEFAULT NULL,
 `Filesort_sum` float DEFAULT NULL,
 `Tmp_table_on_disk_cnt` float DEFAULT NULL,
 `Tmp_table_on_disk_sum` float DEFAULT NULL,
 `Filesort_on_disk_cnt` float DEFAULT NULL,
 `Filesort_on_disk_sum` float DEFAULT NULL,
 `Bytes_sum` float DEFAULT NULL,
 `Bytes_min` float DEFAULT NULL,
 `Bytes_max` float DEFAULT NULL,
 `Bytes_pct_95` float DEFAULT NULL,
 `Bytes_stddev` float DEFAULT NULL,
 `Bytes_median` float DEFAULT NULL,
 UNIQUE KEY `hostname_max` (`hostname_max`,`checksum`,`ts_min`,`ts_max`),
 KEY `ts_min` (`ts_min`),
 KEY `checksum` (`checksum`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

(2)創(chuàng)建數(shù)據(jù)庫賬號

$ mysql -uroot -p -h 192.168.1.190 < install.sql
$ mysql -uroot -p -h 192.168.1.190 -e "grant ALL ON slow_query_log.* to 'slowlog'@'%' IDENTIFIED BY '123456';"

(3)配置Query-Digest-UI

修改數(shù)據(jù)庫連接配置

cd Query-Digest-UI
cp config.php.example config.php
vi 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.190;port=3306;dbname=slow_query_log',
 'user'   => 'slowlog',
 'password'  => '123456',
// 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',
);

(4)使用pt-query-digest分析日志并將分析結果導入數(shù)據(jù)庫

pt-query-digest --user=slowlog \
--password=123456 \
--review h=192.168.1.190,D=slow_query_log,t=global_query_review \
--review-history h=192.168.1.190,D=slow_query_log,t=global_query_review_history\
--no-report --limit=0% \
--filter=" \$event->{Bytes} = length(\$event->{arg}) and \$event->{hostname}=\"$HOSTNAME\"" \
/usr/local/mysql/data/slow.log

相關文章

  • 對MySQL子查詢的簡單改寫優(yōu)化

    對MySQL子查詢的簡單改寫優(yōu)化

    這篇文章主要介紹了對MySQL子查詢的簡單改寫優(yōu)化,文中的小修改主要將子查詢改為關聯(lián)從而降低查詢時關聯(lián)的次數(shù),需要的朋友可以參考下
    2015-05-05
  • MySQL數(shù)據(jù)庫必備之條件查詢語句

    MySQL數(shù)據(jù)庫必備之條件查詢語句

    當用戶查看表格的大量數(shù)據(jù)是,由于數(shù)據(jù)量過于巨大會導致很難獲取到需要的數(shù)據(jù),在這時,就需要一個方法,一個可以通過用戶輸入獲取到用戶需要的數(shù)據(jù)并回填入表格,這就是條件查詢的作用
    2021-10-10
  • CentOS 6、7下mysql 5.7 詳細安裝教程

    CentOS 6、7下mysql 5.7 詳細安裝教程

    這篇文章主要為大家介紹了CentOS 6、7下mysql 5.7 詳細安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Centos7下MySQL安裝教程

    Centos7下MySQL安裝教程

    這篇文章主要為大家詳細介紹了Centos7下MySQL安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • SQL實現(xiàn)對數(shù)據(jù)庫檢索數(shù)據(jù)的直接轉換計算

    SQL實現(xiàn)對數(shù)據(jù)庫檢索數(shù)據(jù)的直接轉換計算

    這篇文章主要介紹了SQL實現(xiàn)對數(shù)據(jù)庫檢索數(shù)據(jù)的直接轉換計算,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • mysql 字符集的系統(tǒng)變量說明

    mysql 字符集的系統(tǒng)變量說明

    mysql 字符集的系統(tǒng)變量的一些說明,大家在使用過程中,可以作個參考。
    2009-07-07
  • Linux下mysql新建賬號及權限設置方法

    Linux下mysql新建賬號及權限設置方法

    Linux下mysql新建賬號及權限設置方法,其實linux與windows下的設置方法一樣的,都是命令行操作
    2012-07-07
  • MySQL數(shù)據(jù)表的常見約束小結

    MySQL數(shù)據(jù)表的常見約束小結

    在數(shù)據(jù)庫設計中,約束(Constraints)是用于確保數(shù)據(jù)的完整性、準確性和一致性的規(guī)則,MySQL?提供了多種約束類型,幫助我們規(guī)范數(shù)據(jù)存儲,本文給大家介紹了MySQL數(shù)據(jù)表的常見約束,需要的朋友可以參考下
    2024-12-12
  • Mysql語句快速復習教程(全)

    Mysql語句快速復習教程(全)

    這篇文章主要介紹了Mysql語句快速復習教程(全)的相關資料,需要的朋友可以參考下
    2016-04-04
  • mysql 表空間及索引的查看方法

    mysql 表空間及索引的查看方法

    mysql 表空間及索引的查看方法,需要的朋友可以參考下。
    2011-07-07

最新評論

华阴市| 监利县| 新竹市| 门头沟区| 禄劝| 迭部县| 乐至县| 南安市| 门头沟区| 天等县| 临桂县| 綦江县| 明溪县| 紫阳县| 开原市| 潮州市| 密云县| 无为县| 布拖县| 循化| 繁峙县| 茂名市| 大丰市| 湟中县| 卓资县| 洞头县| 永城市| 汝州市| 资阳市| 会泽县| 达孜县| 共和县| 偏关县| 陵川县| 天镇县| 青冈县| 绍兴县| 建阳市| 星子县| 勃利县| 宁城县|