MYSQL5.7.9開啟慢查詢?nèi)罩镜募记?/h1>
更新時(shí)間:2016年03月18日 11:34:15 作者:鯊魚百年_強(qiáng)者至尊
這篇文章主要介紹了MYSQL5.7.9開啟慢查詢?nèi)罩镜募记傻南嚓P(guān)資料,需要的朋友可以參考下
用MYSQL 5.7.9 作為ZABBIX 2.4.7 的監(jiān)控?cái)?shù)據(jù)庫. 前段時(shí)間開啟了慢查詢?nèi)罩? 后來發(fā)現(xiàn)慢查詢?nèi)罩九蛎浀搅?00M
查看最后100條 大部分都是 0.1 秒的 后來想改, 以前是動(dòng)態(tài)設(shè)置的 set global slow_query_log=1; 方式的 .
然后想直接用配置文件/etc/my.cnf 配慢查詢
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at % of total RAM for dedicated server, else %.
innodb_buffer_pool_size = M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
basedir = /LANMP/mysql
datadir = /MYSQLDATA/data
port =
# server_id = .....
socket = /tmp/mysql.sock
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = M
sort_buffer_size = M
read_rnd_buffer_size = M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
character_set_server=utf
init_connect='SET NAMES utf'
slow_query_log =
slow_query_log_file = /MYSQLDATA/mysql_slow_query.log
long_query_time =
log_queries_not_using_indexes = ON
反復(fù)啟動(dòng)了好多次 service mysqld restart
mysql> show variables like '%query%';
+------------------------------+---------------------------------+
| Variable_name | Value |
+------------------------------+---------------------------------+
| binlog_rows_query_log_events | OFF |
| ft_query_expansion_limit | 20 |
| have_query_cache | YES |
| long_query_time | 5.000000 |
| query_alloc_block_size | 8192 |
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 1048576 |
| query_cache_type | OFF |
| query_cache_wlock_invalidate | OFF |
| query_prealloc_size | 8192 |
| slow_query_log | ON |
| slow_query_log_file | /MYSQLDATA/mysql_slow_query.log |
+------------------------------+---------------------------------+
13 rows in set (0.00 sec)
老是OFF 狀態(tài) 而其他的 LONG_QUERY_TIME 得到了改變 5秒
用動(dòng)態(tài)方式設(shè)置 報(bào)錯(cuò)
mysql> set global slow_query_log=1;
ERROR 29 (HY000): File '/MYSQLDATA/mysql_slow_query.log' not found (Errcode: 13 - Permission denied)
對(duì)我已經(jīng)把它給刪了, 為傻不自己創(chuàng)建個(gè)?
只好自己touch 一個(gè)
還是報(bào)錯(cuò) ?
ps -ef |grep mysqld 發(fā)現(xiàn) 還有個(gè)mysql用戶啟動(dòng)了mysql
看來 是用mysql用戶讀取慢查詢?nèi)罩镜?用戶權(quán)限問題啦
下面給大家介紹開啟mysql慢查詢?nèi)罩?/strong>
查看配置:
//查詢慢查詢時(shí)間
show variables like "long_query_time";默認(rèn)10s
//查看慢查詢配置情況
show status like "%slow_queries%";
//查看慢查詢?nèi)罩韭窂?
show variables like "%slow%";
修改配置文件
在my.ini中加上下面兩句話
log-slow-queries = D:\wamp\mysql_slow_query.log
long_query_time=5
第一句使用來定義慢查詢?nèi)罩镜穆窂剑ㄒ驗(yàn)槭莣indows,所以不牽涉權(quán)限問題)
第二句使用來定義查過多少秒的查詢算是慢查詢,我這里定義的是5秒
第二步:查看關(guān)于慢查詢的狀態(tài)
執(zhí)行如下SQL語句來查看mysql慢查詢的狀態(tài)
復(fù)制代碼 代碼如下:
show variables like '%slow%';
執(zhí)行結(jié)果會(huì)把是否開啟慢查詢、慢查詢的秒數(shù)、慢查詢?nèi)罩镜刃畔⒋蛴≡谄聊簧稀?/p>
第三步:執(zhí)行一次慢查詢操作
其實(shí)想要執(zhí)行一次有實(shí)際意義的慢查詢比較困難,因?yàn)樵谧约簻y(cè)試的時(shí)候,就算查詢有20萬條數(shù)據(jù)的海量表,也只需要0.幾秒。我們可以通過如下語句代替:
復(fù)制代碼 代碼如下:
SELECT SLEEP(10);
第四步:查看慢查詢的數(shù)量
通過如下sql語句,來查看一共執(zhí)行過幾次慢查詢:
show global status like '%slow%';
mysql日志的配置:
注意:這些日文件在mysql重啟的時(shí)候才會(huì)生成#記錄所有sql語句
log=E:/mysqllog/mysql.log
#記錄數(shù)據(jù)庫啟動(dòng)關(guān)閉信息,以及運(yùn)行過程中產(chǎn)生的錯(cuò)誤信息
log-error=E:/mysqllog/myerror.log
# 記錄除select語句之外的所有sql語句到日志中,可以用來恢復(fù)數(shù)據(jù)文件
log-bin=E:/mysqllog/bin
#記錄查詢慢的sql語句
log-slow-queries=E:/mysqllog/slow.log
#慢查詢時(shí)間
long_query_time=0.5
您可能感興趣的文章:- Mysql 5.7.9 shutdown 語法實(shí)例詳解
- Centos 7下使用RPM包安裝MySQL 5.7.9教程
- 解決MySQL 5.7.9版本sql_mode=only_full_group_by問題
- MySQL 5.7.9 服務(wù)無法啟動(dòng)-“NET HELPMSG 3534”的解決方法
- mysql 5.7.9 免安裝版配置方法圖文教程
- Mysql5.7修改root密碼教程
- mysql5.7及mysql 8.0版本修改root密碼的方法小結(jié)
- Windows10下MySQL5.7.19安裝教程 MySQL忘記root密碼修改方法
- MySQL 5.7忘記root密碼后修改的詳細(xì)教程
- 更新至MySQL 5.7.9的詳細(xì)教程
相關(guān)文章
-
mysql實(shí)現(xiàn)查詢最接近的記錄數(shù)據(jù)示例
這篇文章主要介紹了mysql實(shí)現(xiàn)查詢最接近的記錄數(shù)據(jù),涉及mysql查詢相關(guān)的時(shí)間轉(zhuǎn)換、排序等相關(guān)操作技巧,需要的朋友可以參考下 2018-07-07
-
MySQL入門(二) 數(shù)據(jù)庫數(shù)據(jù)類型詳解
這個(gè)數(shù)據(jù)庫所遇到的數(shù)據(jù)類型今天統(tǒng)統(tǒng)在這里講清楚了,以后在看到什么數(shù)據(jù)類型,咱度應(yīng)該認(rèn)識(shí),對(duì)我來說,最不熟悉的應(yīng)該就是時(shí)間類型這塊了。但是通過今天的學(xué)習(xí),已經(jīng)解惑了。下面就跟著我的節(jié)奏去把這個(gè)拿下吧 2018-07-07
-
全面分析MySQL?ERROR?1045出現(xiàn)的原因及解決
這篇文章主要介紹了全面分析MySQL?ERROR?1045出現(xiàn)的原因及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教 2022-07-07
-
mysql8創(chuàng)建、刪除用戶以及授權(quán)、消權(quán)操作詳解
上網(wǎng)找過資料說要進(jìn)入mysql數(shù)據(jù)庫在進(jìn)行這些操作,所以下面這篇文章主要給大家介紹了關(guān)于mysql8創(chuàng)建、刪除用戶以及授權(quán)、消權(quán)操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下 2022-03-03
-
mysql如何查詢當(dāng)前數(shù)據(jù)庫中不為空的表
這篇文章主要介紹了mysql如何查詢當(dāng)前數(shù)據(jù)庫中不為空的表問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教 2023-10-10
最新評(píng)論
用MYSQL 5.7.9 作為ZABBIX 2.4.7 的監(jiān)控?cái)?shù)據(jù)庫. 前段時(shí)間開啟了慢查詢?nèi)罩? 后來發(fā)現(xiàn)慢查詢?nèi)罩九蛎浀搅?00M
查看最后100條 大部分都是 0.1 秒的 后來想改, 以前是動(dòng)態(tài)設(shè)置的 set global slow_query_log=1; 方式的 .
然后想直接用配置文件/etc/my.cnf 配慢查詢
# Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at % of total RAM for dedicated server, else %. innodb_buffer_pool_size = M # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # These are commonly set, remove the # and set as required. basedir = /LANMP/mysql datadir = /MYSQLDATA/data port = # server_id = ..... socket = /tmp/mysql.sock # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. join_buffer_size = M sort_buffer_size = M read_rnd_buffer_size = M sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES character_set_server=utf init_connect='SET NAMES utf' slow_query_log = slow_query_log_file = /MYSQLDATA/mysql_slow_query.log long_query_time = log_queries_not_using_indexes = ON
反復(fù)啟動(dòng)了好多次 service mysqld restart
mysql> show variables like '%query%'; +------------------------------+---------------------------------+ | Variable_name | Value | +------------------------------+---------------------------------+ | binlog_rows_query_log_events | OFF | | ft_query_expansion_limit | 20 | | have_query_cache | YES | | long_query_time | 5.000000 | | query_alloc_block_size | 8192 | | query_cache_limit | 1048576 | | query_cache_min_res_unit | 4096 | | query_cache_size | 1048576 | | query_cache_type | OFF | | query_cache_wlock_invalidate | OFF | | query_prealloc_size | 8192 | | slow_query_log | ON | | slow_query_log_file | /MYSQLDATA/mysql_slow_query.log | +------------------------------+---------------------------------+ 13 rows in set (0.00 sec)
老是OFF 狀態(tài) 而其他的 LONG_QUERY_TIME 得到了改變 5秒
用動(dòng)態(tài)方式設(shè)置 報(bào)錯(cuò)
mysql> set global slow_query_log=1; ERROR 29 (HY000): File '/MYSQLDATA/mysql_slow_query.log' not found (Errcode: 13 - Permission denied)
對(duì)我已經(jīng)把它給刪了, 為傻不自己創(chuàng)建個(gè)?
只好自己touch 一個(gè)
還是報(bào)錯(cuò) ?
ps -ef |grep mysqld 發(fā)現(xiàn) 還有個(gè)mysql用戶啟動(dòng)了mysql
看來 是用mysql用戶讀取慢查詢?nèi)罩镜?用戶權(quán)限問題啦
下面給大家介紹開啟mysql慢查詢?nèi)罩?/strong>
查看配置:
//查詢慢查詢時(shí)間 show variables like "long_query_time";默認(rèn)10s //查看慢查詢配置情況 show status like "%slow_queries%"; //查看慢查詢?nèi)罩韭窂? show variables like "%slow%";
修改配置文件
在my.ini中加上下面兩句話
log-slow-queries = D:\wamp\mysql_slow_query.log long_query_time=5
第一句使用來定義慢查詢?nèi)罩镜穆窂剑ㄒ驗(yàn)槭莣indows,所以不牽涉權(quán)限問題)
第二句使用來定義查過多少秒的查詢算是慢查詢,我這里定義的是5秒
第二步:查看關(guān)于慢查詢的狀態(tài)
執(zhí)行如下SQL語句來查看mysql慢查詢的狀態(tài)
show variables like '%slow%';
執(zhí)行結(jié)果會(huì)把是否開啟慢查詢、慢查詢的秒數(shù)、慢查詢?nèi)罩镜刃畔⒋蛴≡谄聊簧稀?/p>
第三步:執(zhí)行一次慢查詢操作
其實(shí)想要執(zhí)行一次有實(shí)際意義的慢查詢比較困難,因?yàn)樵谧约簻y(cè)試的時(shí)候,就算查詢有20萬條數(shù)據(jù)的海量表,也只需要0.幾秒。我們可以通過如下語句代替:
SELECT SLEEP(10);
第四步:查看慢查詢的數(shù)量
通過如下sql語句,來查看一共執(zhí)行過幾次慢查詢:
show global status like '%slow%';
mysql日志的配置:
注意:這些日文件在mysql重啟的時(shí)候才會(huì)生成#記錄所有sql語句
log=E:/mysqllog/mysql.log #記錄數(shù)據(jù)庫啟動(dòng)關(guān)閉信息,以及運(yùn)行過程中產(chǎn)生的錯(cuò)誤信息 log-error=E:/mysqllog/myerror.log # 記錄除select語句之外的所有sql語句到日志中,可以用來恢復(fù)數(shù)據(jù)文件 log-bin=E:/mysqllog/bin #記錄查詢慢的sql語句 log-slow-queries=E:/mysqllog/slow.log #慢查詢時(shí)間 long_query_time=0.5
- Mysql 5.7.9 shutdown 語法實(shí)例詳解
- Centos 7下使用RPM包安裝MySQL 5.7.9教程
- 解決MySQL 5.7.9版本sql_mode=only_full_group_by問題
- MySQL 5.7.9 服務(wù)無法啟動(dòng)-“NET HELPMSG 3534”的解決方法
- mysql 5.7.9 免安裝版配置方法圖文教程
- Mysql5.7修改root密碼教程
- mysql5.7及mysql 8.0版本修改root密碼的方法小結(jié)
- Windows10下MySQL5.7.19安裝教程 MySQL忘記root密碼修改方法
- MySQL 5.7忘記root密碼后修改的詳細(xì)教程
- 更新至MySQL 5.7.9的詳細(xì)教程
相關(guān)文章
mysql實(shí)現(xiàn)查詢最接近的記錄數(shù)據(jù)示例
這篇文章主要介紹了mysql實(shí)現(xiàn)查詢最接近的記錄數(shù)據(jù),涉及mysql查詢相關(guān)的時(shí)間轉(zhuǎn)換、排序等相關(guān)操作技巧,需要的朋友可以參考下2018-07-07MySQL入門(二) 數(shù)據(jù)庫數(shù)據(jù)類型詳解
這個(gè)數(shù)據(jù)庫所遇到的數(shù)據(jù)類型今天統(tǒng)統(tǒng)在這里講清楚了,以后在看到什么數(shù)據(jù)類型,咱度應(yīng)該認(rèn)識(shí),對(duì)我來說,最不熟悉的應(yīng)該就是時(shí)間類型這塊了。但是通過今天的學(xué)習(xí),已經(jīng)解惑了。下面就跟著我的節(jié)奏去把這個(gè)拿下吧2018-07-07全面分析MySQL?ERROR?1045出現(xiàn)的原因及解決
這篇文章主要介紹了全面分析MySQL?ERROR?1045出現(xiàn)的原因及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07mysql8創(chuàng)建、刪除用戶以及授權(quán)、消權(quán)操作詳解
上網(wǎng)找過資料說要進(jìn)入mysql數(shù)據(jù)庫在進(jìn)行這些操作,所以下面這篇文章主要給大家介紹了關(guān)于mysql8創(chuàng)建、刪除用戶以及授權(quán)、消權(quán)操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03mysql如何查詢當(dāng)前數(shù)據(jù)庫中不為空的表
這篇文章主要介紹了mysql如何查詢當(dāng)前數(shù)據(jù)庫中不為空的表問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10