という記事になります。
仕事で新PJをやるならMySQL v8.4にしよう!ということでv8.4にして、Cloud Runから繋げた開発環境を作成していたのですが、本日「全くCloud SQLへ疎通できなくなる」という現象にぶち当たりました。
何をしたのか?
きっかけはCloud SQLインスタンスに対してダウンタイムの発生する更新処理を行いました。特に問題の起こるような処理ではなかったので、再起動を待っていたのですが起動後に全くどのCloud Run, Cloud Run Jobsからも繋がらなくなりました。なぜ・・・
調査
先程の更新処理に関連してネットワーク周りをいじっていたもので、それをリバートしたり試行錯誤したのですが全く直らず。本番環境と違って急を要するものでもないので、じっくりと原因を探っていたのですが、その時Google Cloudフォーラムの一つの記事を発見しました。
こ、これだ〜〜〜!!!
この方は、メンテナンス後に動かなくなったとあるのですが、状況的には全く同じでした。
で、この記事内に「This is the really weird part(非常に奇妙なのはこの部分です)」とあるのですが、それが「Cloud SQL Studioからログインすると直るよ」と書いてありました。
またまたまた〜〜〜〜〜そんなんで直ったら世話ないよ・・・
直りました!
なんでやねんということで、こちら今年4末に立てられたトピックですが未だにGoogleからの回答は無い模様です。幸いにもv8.4のみで発生しているようなので、特別なこだわりが無い限りは、Cloud Run使ってる方はv8.0に下げておいた方が良さそう、という注意喚起の記事でした。
[追記]
@methane さんにめちゃくちゃ詳しく調査いただきました🙇♂️
ちょっと追っかけてみたけど go-sql-driver/mysql は無罪っぽくて安心。Q3解決予定らしい。
— methane (@methane) 2025年6月13日
Cloud SQL Proxyを自分で動かしている人は、 listen するのを unix_socket じゃなくてTCPにしたら動くと思う。 https://t.co/lvVb6X6nCC
流れ気になる方は、こちらからリプライのツリーを参照ください。
caching_sha2_password の初回認証ができなくて2回目以降の認証ができるということですよね。
— methane (@methane) 2025年6月13日
go-sql-driver/mysql の実装漏れかもしれないです。