溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql如何啟動慢查日志

發(fā)布時間:2020-04-23 10:21:37 來源:億速云 閱讀:230 作者:三月 欄目:MySQL數(shù)據(jù)庫

本文主要給大家介紹mysql如何啟動慢查日志,其所涉及的東西,從理論知識來獲悉,有很多書籍、文獻可供大家參考,從現(xiàn)實意義角度出發(fā),億速云累計多年的實踐經(jīng)驗可分享給大家。

sql與索引優(yōu)化

數(shù)據(jù)庫表結(jié)構優(yōu)化

系統(tǒng)配置

硬件
mysql如何啟動慢查日志

mysql> show variables like 'slow_query_log';
+----------------+-------+
| Variable_name  | Value |
+----------------+-------+
| slow_query_log | OFF   |
+----------------+-------+
1 row in set (0.00 sec)

慢日志查詢沒有開啟,可以開啟一下。

找到my.cnf,添加如下內(nèi)容sudo vim /usr/local/mysql/my.cnf

添加慢日志查詢

log_output=file
slow_query_log=on
slow_query_log_file = /tmp/mysql-slow.log
log_queries_not_using_indexes=on
long_query_time = 1

重啟mysql。

確定修改是否成功啟動慢日志查詢

mysql> show variables like 'slow_query_log';
+----------------+-------+
| Variable_name  | Value |
+----------------+-------+
| slow_query_log | ON    |
+----------------+-------+
1 row in set (0.00 sec)
mysql> show variables like '%quer%';
+----------------------------------------+------------------------------------+
| Variable_name                          | Value                              |
+----------------------------------------+------------------------------------+
| binlog_rows_query_log_events           | OFF                                |
| ft_query_expansion_limit               | 20                                 |
| have_query_cache                       | YES                                |
| log_queries_not_using_indexes          | ON                                 |
| log_throttle_queries_not_using_indexes | 0                                  |
| long_query_time                        | 1.000000                           |
| query_alloc_block_size                 | 8192                               |
| query_cache_limit                      | 1048576                            |
| query_cache_min_res_unit               | 4096                               |
| query_cache_size                       | 8388608                            |
| query_cache_type                       | OFF                                |
| query_cache_wlock_invalidate           | OFF                                |
| query_prealloc_size                    | 8192                               |
| slow_query_log                         | ON                                 |
| slow_query_log_file                    | /tmp/mysql-slow.log |

+----------------------------------------+------------------------------------+

執(zhí)行如下SQL語句來查看mysql慢查詢的狀態(tài)
show variables like '%slow%';

執(zhí)行一次慢查詢操作  其實想要執(zhí)行一次有實際意義的慢查詢比較困難,因為在自己測試的時候,就算查詢有20萬條數(shù)據(jù)的海量表,也只需要0.幾秒。我們可以通過如下語句代替: 

SELECT SLEEP(10); 

查看慢查詢的數(shù)量  通過如下sql語句,來查看一共執(zhí)行過幾次慢查詢:

show global status like '%slow%';

這時候再看,已經(jīng)開啟了慢查詢?nèi)罩尽?/p>

$ sudo cat /tmp/mysql-slow.log 
/usr/local/mysql/bin/mysqld, Version: 5.6.40-log (Source distribution). started with:
Tcp port: 3306  Unix socket: /tmp/mysql.sock
Time                 Id Command    Argument

如果更改日志目錄位置
比如,更改為/home/msyql/log/mysql-slow.log
至少需要將log目錄所有者設置為mysql:mysql。
這樣重啟mysql的時候,才能自動生成mysql-slow.log文件。

jiqing@jiqing-pad:/home/mysql/log$ ll
總用量 12
drwxr-xr-x 2 mysql  mysql  4096 5月  31 01:46 ./
drwxr-xr-x 3 jiqing jiqing 4096 5月  31 01:26 ../
-rw-rw---- 1 mysql  mysql   175 5月  31 01:46 mysql-slow.log
jiqing@jiqing-pad:/home/mysql/log$ pwd
/home/mysql/log

如果log目錄不是mysql用戶權限,將無法生成日志文件,mysql用戶無權寫入數(shù)據(jù)。

看了以上介紹mysql如何啟動慢查日志,希望能給大家在實際運用中帶來一定的幫助。本文由于篇幅有限,難免會有不足和需要補充的地方,大家可以繼續(xù)關注億速云行業(yè)資訊板塊,會定期給大家更新行業(yè)新聞和知識,如有需要更加專業(yè)的解答,可在官網(wǎng)聯(lián)系我們的24小時售前售后,隨時幫您解答問題的。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI