您好,登錄后才能下訂單哦!
本文主要給大家介紹mysql如何啟動慢查日志,其所涉及的東西,從理論知識來獲悉,有很多書籍、文獻可供大家參考,從現實意義角度出發,億速云累計多年的實踐經驗可分享給大家。
sql與索引優化
數據庫表結構優化
系統配置
硬件
mysql> show variables like 'slow_query_log';
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| slow_query_log | OFF |
+----------------+-------+
1 row in set (0.00 sec)
慢日志查詢沒有開啟,可以開啟一下。
找到my.cnf,添加如下內容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 |
+----------------------------------------+------------------------------------+
執行如下SQL語句來查看mysql慢查詢的狀態show variables like '%slow%';
執行一次慢查詢操作 其實想要執行一次有實際意義的慢查詢比較困難,因為在自己測試的時候,就算查詢有20萬條數據的海量表,也只需要0.幾秒。我們可以通過如下語句代替:
SELECT SLEEP(10);
查看慢查詢的數量 通過如下sql語句,來查看一共執行過幾次慢查詢:
show global status like '%slow%';
這時候再看,已經開啟了慢查詢日志。
$ 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用戶無權寫入數據。
看了以上介紹mysql如何啟動慢查日志,希望能給大家在實際運用中帶來一定的幫助。本文由于篇幅有限,難免會有不足和需要補充的地方,大家可以繼續關注億速云行業資訊板塊,會定期給大家更新行業新聞和知識,如有需要更加專業的解答,可在官網聯系我們的24小時售前售后,隨時幫您解答問題的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。