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?

GoogleCloudSQLでクエリログを取得する

Last updated at Posted at 2024-09-26

GoogleCloudSQLでのクエリログ取得と確認の方法を自分用にメモ

経緯

GoogleCloudにあるMySQLのクエリログの取得が必要になったので・・

前提知識として

MySQLでクエリログを取得したいときには
general_log設定をONにする必要があります。(デフォルトではOFF)

通常のMySQLでは下記のようなコマンドでgeneral_log設定の確認ができます。

SQL
show variable like 'general_log%';
Variable_name Value
general_log OFF
general_log_file /mysql/logs/general.log
SQL
set global general_log = on;

上記のようなSQLで設定をONにできます。

でもGoogleCloudでは、権限が足りず上記のやり方では変更ができません。

結果

SQL query:


set global general_log = on
MySQL のメッセージ: ドキュメント

#1227 - アクセスは拒否されました。この操作には SUPER 権限が(複数の場合はどれか1つ)必要です。

GoogleCloudのMySQLの場合は管理画面から設定を変更する必要があります。

GoogleCloudSQLの管理画面へ

https://console.cloud.google.com

Googleアカウントにログインした状態で訪れれば、よしなにプロジェクト画面にリダイレクトされると思います(そうじゃなかったらすいません)

私の場合の画面こんな感じ。(なにをどこまで伏せればいいのか迷ったのですが若干のモザイク付与)
デフォルト画面ではGoogleCloudSQLの表示がないので「すべてのプロダクトを表示」をクリックしる。

スクリーンショット 2024-09-26 14.39.56.png

左側メニューの「データベース」をクリック、あるいは画面を下にスクロールすると「SQL」があります。それをクリック。
スクリーンショット 2024-09-26 14.43.12.png

そしたらSQLインスタンス一覧を見られるので、設定したいインスタンスIDをクリック
スクリーンショット 2024-09-26 14.45.59.png

そしたらようやくこの画面(AWSもそうだけど、こういう管理画面って初見だと迷いませんか。私はよく迷います。だからメモ)
スクリーンショット 2024-09-26 14.49.45.png

下にスクロールして
「構成」項目から[構成を編集]をクリック
スクリーンショット 2024-09-26 14.52.11.png

「フラグ」項目を開いたら「データベースフラグを追加」が表示されるので
データベースフラグを追加 を押します
(画像は「フラグ」項目を開いた時の状態)

スクリーンショット 2024-09-26 14.54.53.png

「新しいデータベースフラグ」という項目で好きな設定をします。
スクリーンショット 2024-09-26 14.57.58.png

今回はlog_outputの設定を「FILE」に設定しています。
(この画面では、既に存在するフラグの編集をしてる画面になっておりますが・・)
スクリーンショット 2024-09-26 16.14.02.png

「TABLE」も選択可能ですが、TABLEよりもFILEの方が推奨のようです。

※公式の情報として
log_output を TABLE に設定しないでください。このように設定すると、フラグの使用に関するヒントで説明するような接続の問題が発生する場合があります。
とのこと。なのでFILEがよいかとおもいます。

設定ができたら保存ボタンを押します。
スクリーンショット 2024-09-26 14.58.46.png

これでとりあえずクエリログの設定ができました。

クエリログを確認する

ログの設定を変更した後の画面の、真ん中くらいまで下にスクロールしたら「オペレーションとログ」という項目があるので、そこで「MySQLのエラーログを表示」をクリックします。
スクリーンショット 2024-09-26 15.12.51.png

そうしたら下記のような画面になります。
mysql.errタブをクリックすると、確認ログを選べるので、今回の場合general_logを選択します。
ログの種類を選んで、「適用」ボタンを押します。
ちなみに右上の方で日時指定もできます。
スクリーンショット 2024-09-26 15.16.24.png

画面右下にログが出力されます。
スクリーンショット 2024-09-26 15.21.10 1.png

これでログ確認ができるようになりますた。

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?