Mysql

為什麼 MySQL 慢查詢日誌不存在?

  • June 17, 2021

我今天在我的 CentOS 伺服器上查找 MySQL 慢查詢日誌,但沒有找到該日誌。我什至做了一個“SELECT SLEEP(2)”測試,希望能創建這個文件。請注意,我不是很精通伺服器,因此不勝感激。

7
 8 [mysql.server]
 9 user=mysql
10 basedir=/var/lib
11
12 [mysqld]
13 long_query_time = 1
14 log_slow_queries=/var/log/mysql_slow_queries.log
15 log=/var/log/mysql.query.log
16
17 ## FINE TUNING ##
18
19 key_buffer              = 16M
20 max_allowed_packet      = 16M
21 thread_stack            = 128K
22 thread_cache_size       = 8
23 query_cache_limit       = 1M
24 query_cache_size        = 16M
25
26 [mysqld_safe]
27 log-error=/var/log/mysqld.log
28 pid-file=/var/run/mysqld/mysqld.pid
29 safe-show-databases

如您所見,路徑顯示:/var/log/mysql_slow_queries.log——但找不到該文件。但是,我在目錄中發現 mysql.query.log 和 mysqld.log 很好。為什麼我的 MySQL 慢查詢文件不存在?

對文件進行更改後my.cnf,您需要重新啟動 MySQL 服務。不確定您使用的是什麼系統,但通常service mysqld restart可以工作,或者service mysql restart- 只需查看/etc/init.d/.

此外,確保文件已創建並在磁碟上可用:

touch /var/log/mysql_slow_queries.log
chown mysql:mysql /var/log/mysql_slow_queries.log

此外,時間在數據庫中並不那麼重要,而是沒有索引的查詢。考慮將以下內容添加到您的my.cnf. 當然,一旦你這樣做,重新啟動 MySQL:

log-queries-not-using-indexes

引用自:https://serverfault.com/questions/536418