MySQL
mamp

mac/MAMP で使用している mysql に スロークエリログ を設定する【MySQL】

More than 1 year has passed since last update.

環境

バージョン
macOS Sierra バージョン10.2.6
MAMP バージョン4.1.1 (492)
MySQL version: 5.6.35

既に起動しているMYSQLに突貫工事のごとく設定をする。
(本来は、my.cnfに書けばいいんだよね(^_^)/

設定方法

① mysql にログインする

$ cd /Applications/MAMP/bin
$ ./mysql -u root -p 

② 設定する
既にMYSQLを起動して実行している状態のときは、
set global show をしようすることにより設定が可能になる。

$ mysql> set global show_query_log=1;

スロークエリログが吐かれてしまう秒数を設定できる。
設定する単位はである。つまり、下記は1秒!

$ mysql> set global long_query_time=1;

log_queries_not_using_indexes を設定すると、
スロークエリログの秒に達さないとしてもINDEXをはっていないクエリを
スロークエリログに吐き出すことができる。

$ mysql> set global log_queries_not_using_indexes=1;

ファイル名は、任意の場所が設定できる。

$ mysql> set global slow_query_log_file ='/Applications/MAMP/logs/slow_query.log';

③ ターミナルで mysql を ログアウト し再度ログインする
ログアウトしないと long_query_time には修正前の値が表示する。

$ mysql>  show variables like 'long_query%';
+-----------------+-----------+
| Variable_name   | Value     |
+-----------------+-----------+
| long_query_time | 1.000000  |
+-----------------+-----------+
1 row in set (0.00 sec)

※ デフォルトは10秒が設定されている。