以下の内容はhttps://next4us-ti.hatenablog.com/entry/2025/11/30/091015より取得しました。


MySQL Routerは最新にしとけ

MySQL Advent Calendar 2025 1日目のネタはMySQL Routerのバグの話

と言っても、バグを掘り下げるっていうわけじゃないです。

こういうのあるんで、最新にしとこーぜ!って話を軽ーくするんで、流し読みしてくだせえ。

どんなバグの話するの?

MySQL Routerがクラッシュする系のバグの紹介です。

なんでそんな話をするの?

MySQL Routerを8.4にアップグレードして、Routerがクラッシュするって話、今年よく聞いたんですよ。

なので、MySQL Serverを、InnoDB Cluster構成を8.0から8.4にアップグレードする人がこれから日本でも増えるでしょうから、その準備の参考情報としてってところです。

バグその1(37499075)

The http_server plugin would throw an uncaught exception and terminate when given an invalid URL. Now the exception is caught with a 400 HTTP (Bad Request) error returned to the client. (Bug #37499075)

訳:http_serverプラグインは、無効なURLが渡された場合に未処理の例外をスローして終了していました。現在は例外がキャッチされ、クライアントに400 HTTPエラー(Bad Request)が返されます。(Bug #37499075)

MySQL :: MySQL Router Release Notes :: Changes in MySQL Router 8.4.5 (2025-04-15, LTS Release)

8.4.5で解消したやつです。terminate=止まっちゃった、ってことですね。

http_serverプラグインってことはつまり、MySQL Router REST API関連ですね。

--disable-restオプションでMySQL Rouer REST APIを使わないようにするのもありなんでしょうが、Routerくらい大人しくアップグレードササッとやっちゃうのが吉です。

なぜなら、8.4.5にはもう一つ後述のバグが内在してるから…。

バグその2(37303055)

Under certain circumstances, with Connection Sharing enabled, MySQL Router could crash due to a race condition in the connection pool. MySQL Router tried to close a connection while also making that connection available to another thread. Errors were returned similar to the following:

Process Core Dump (PID XXXXXX/UID 0) 
Resource limits disable core dumping for process XXXXXX (mysqlrouter)

(Bug #37303055)

訳:特定の状況下で、接続共有が有効な場合、MySQL Router は接続プール内の競合状態によりクラッシュする可能性があります。MySQL Router は、ある接続を閉じようとする一方で、その接続を別のスレッドでも利用可能にしようとしたためです。以下のようなエラーが返されました:

Process Core Dump (PID XXXXXX/UID 0) Resource limits disable core dumping for process XXXXXX (mysqlrouter)

(Bug #37303055)

MySQL :: MySQL Router Release Notes :: Changes in MySQL Router 8.4.6 (2025-07-22, LTS Release)

8.4.6で解消したやつです。MySQL Routerってコネクションプール機能持ってるんですよ。それ絡みですね。

というわけで、アップグレードするなら8.4.6以上がおススメ!

…と言いたいところですが、そうは問屋が簡単には卸さないのが今のMySQL

MySQL ShellとMySQL Routerは9.xの最新を使え

MySQL :: Supported Compatibility: MySQL Server, Clients, & Tools

一つ前の自分のブログでも書いたのだが、MySQL Routerは9.xの最新を使うべきというのが公式の見解になっている。

正直 キメェ という気持ちはグッと抑えて、安全のために9.xの最新(今現在だと9.5)を使うのが無難である。

まあ、そんなこと言ってると、もうすぐ9.7(かな?)がLTSとしてリリースされるはずなんで、そこで綺麗に揃えましょう。

最後に

明日は @shunyasu さんの「Spatial Indexなどの空間検索の性能調査」です。

Spatial Index周り、自分もあまり調べてないから興味津々です。




以上の内容はhttps://next4us-ti.hatenablog.com/entry/2025/11/30/091015より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14