0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【MySQL】mamp環境で一般クエリログを出力

Posted at

#クエリログを出力するにあたってつまづいた部分があったので備忘録のため記事にしました。

環境

mampを使用してローカルでの開発

PC
MacBook Pro late2016
OS
Mac OS Catalina 10.15.7
DB
MySQL 5.7.25

実現したいこと

クエリ回数を確認してサービスのパフォーマンス向上の参考にしたい

分からなかったこと

  • 設定ファイルはどこにあるか?
  • 設定内容はどうするか?

設定ファイルはどこにあるか?
Macの場合は設定ファイルはmy.cnfというファイルに設定を書くことで設定できる。

$ mysql --help | grep my.cnf
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /Applications/MAMP/conf/my.cnf ~/.my.cnf

/etc/my.cnf、/etc/mysql/my.cnf、/Applications/MAMP/conf/my.cnf、~/.my.cnfのいづれかに
my.cnfファイルがあれば反映される。
優先順位は左から順に優先される。

つまづいた部分

調べているmy.cnf自体は/etc にあったりするそうだが、私の環境では上記のディレクトリを探してもmy.cnfが見当たらなかった。

そのため、作成する必要に気づく。

今回は/Applications/MAMP/conf/にmy.cnfを作成した。

・設定内容はどうするか?
これについては色々とカスタムはあるので、正解はないと思うのですが、今回は単純に一般クエリログが出力したかっただけなので、一旦は下記のようにmy.cnfに記述。

my.cnf
[mysqld]
general-log=1
general_log_file=/Applications/MAMP/logs/query.log

general-log を1にすることでログを出力
general_log_fileは出力するログファイルの場所を指定

最後に

$ mysql -u root -p 
mysql> show variables like 'general_log%';
+------------------+-----------------------------------+
| Variable_name    | Value                             |
+------------------+-----------------------------------+
| general_log      | ON                                |
| general_log_file | /Applications/MAMP/logs/query.log |
+------------------+-----------------------------------+

こうなっていればOKです!
私はこの反映がうまくいかず、つまづいていたのですが、mampの場合は再起動したら無事反映されました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?