LoginSignup
55
42

More than 5 years have passed since last update.

Docker: MySQLのクエリーログを確認できるようにしたい

Posted at

mysqldの --general-log-file オプションを /dev/stdout に設定してコンテナを起動しておく。

$ sudo docker run -p 3306:3306 -d --name mysql -e MYSQL_ROOT_PASSWORD="mypass" mysql /entrypoint.sh mysqld --datadir=/var/lib/mysql --user=root --general-log=true --general-log-file=/dev/stdout

こうすることで、docker logs -f mysql で標準出力にてクエリーログを確認できるようになる。

ホストとコンテナでログファイルをVOLUMEで共有しなくていいのがこの方法のいいところ。また、ログファイルを確認するためにコンテナに入る必要もない。Dockerfileやmy.confを書き換えないので、プロダクション用のイメージをそのまま開発環境用に使うこともできる。この起動方法はコマンドが長くなるので、スクリプトはMakefileにしておくといい。

バージョン情報

  • docker: 1.1.1
55
42
3

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
55
42