慢查詢日志可以幫助DBA或開發人員定位可能存在問題的SQL語句,從而進行優化。
如何開啟
默認情況下,MySQL是不開啟慢查詢日志的。可以通過以下命令查看是否開啟:
mysql> SHOW VARIABLES LIKE 'long_query_time';
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 row in set (0.01 sec)
mysql> SHOW VARIABLES LIKE 'slow_query_log';
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| slow_query_log | OFF |
+----------------+-------+
1 row in set (0.00 sec)
long_query_time查詢超過多少秒才記錄。slow_query_log慢查詢開啟狀態。
臨時開啟
通過以下命令可以在客戶端臨時開啟慢查詢日志:
mysql> set global slow_query_log='ON';
Query OK, 0 rows affected (0.00 sec)
mysql> set global slow_query_log_file='/var/lib/mysql/instance-1-slow.log';
Query OK, 0 rows affected (0.00 sec)
mysql> set global long_query_time=2;
Query OK, 0 rows affected (0.00 sec)
配置開啟
也可以在服務端配置 mysql ,通過修改配置文件的這幾個參數來開啟:
/etc/my.cnf
[mysqld]
slow_query_log = ON
slow_query_log_file = /var/lib/mysql/instance-1-slow.log
long_query_time = 2
配置后,重啟 mysql 服務即可。
