Mysql
如何在 MariaDB my.cnf 中設置慢查詢日誌?
這應該很容易,但是當我輸入這些行時:
log_slow_queries = 1 long_query_time = 1 log-slow-queries = /var/log/mysql/slow_query.log log_queries_not_using_indexes
中
[mysqld]
,MariaDB 無法重新啟動。我查看了文件,但無法弄清楚我的配置有什麼問題。
另外,我已將文件權限設置為
/var/log/mysql/slow_query.log
# ls -al /var/log/mysql/slow_query.log -rw-rw-r-- 1 mysql mysql 744682 Dec 4 23:46 /var/log/mysql/slow_query.log
但是,我可以在命令行中設置參數:
SET GLOBAL slow_query_log_file = '/var/log/mysql/slow_query.log'; SET GLOBAL LONG_QUERY_TIME = 1; SET GLOBAL slow_query_log = 'ON';
並看到它們已設置:
+---------------------+--------------------------------------------------------------------------------------------------------------+ | Variable_name | Value | +---------------------+--------------------------------------------------------------------------------------------------------------+ | log_slow_filter | admin,filesort,filesort_on_disk,full_join,full_scan,query_cache,query_cache_miss,tmp_table,tmp_table_on_disk | | log_slow_rate_limit | 1 | | log_slow_verbosity | | | slow_launch_time | 2 | | slow_query_log | ON | | slow_query_log_file | /var/log/mysql/slow_query.log | +---------------------+--------------------------------------------------------------------------------------------------------------+ 6 rows in set (0.00 sec)
甚至慢查詢也被寫入日誌。但我想通過將配置寫入 my.cnf 來使配置持久化。所以感謝你的幫助。
你說你添加了這個
log_slow_queries = 1 long_query_time = 1 log-slow-queries = /var/log/mysql/slow_query.log log_queries_not_using_indexes
要啟動 MySQL 5.6 和 MariaDB 的慢查詢日誌,必須使用以下命令
因此,你需要這個
my.cnf
slow_query_log = 1 long_query_time = 1 slow_query_log_file = /var/log/mysql/slow_query.log log_queries_not_using_indexes