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 |
+----------------------------------------+------------------------------------+


這時候再看,已經開啟了慢查詢日志。

$ 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用戶無權寫入數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM