Quantcast
Channel: Planet MySQL
Viewing all articles
Browse latest Browse all 1081

mysqld_safeは如何にしてmysqldのダウンを検知するのか

$
0
0
LinuxとかUnixのMySQL-serverにくっついてくるmysqld_safe、コイツは内部でmysqldを呼ぶ
シェルスクリプトになっていて、環境変数の面倒とかulimitの面倒とかumaskの面倒とか見てくれたりする。

mysqldが落ちるとmysqld_safeがそれを検知して起動してくれるんだけど、
今までコイツがどうやってmysqldダウンを検知してるんだか知らなかった。

で、よくよく読んでみると、なんと

 フ ォ ア グ ラ ウ ン ド で m y s q l d を 起 動 し て る

から、mysqldが落ちた途端にmysqld_safeに制御が戻って、
(mysqldを起動した(=eval_log_error関数)直後にリスタートの処理が書いてある)
ほぼノータイムでmysqldのダウンを検知する。

まさかこんなに当たり前でシンプルな作りだとは。なんかシグナルもらってるんだとずっと思ってたよ。。


あと、mysqld_safeってSIGTERMで落ちないようになってるのね。
そういえばオプション無しのkillで落ちなかった気がする。

PlanetMySQL Voting: Vote UP / Vote DOWN

Viewing all articles
Browse latest Browse all 1081

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>