MySQL起動時の疎通チェック
概要
疎通チェックして通ったらパスするような、そんな制御をいれたい場合に使えるシェルです。
mysqladmin
mysqlクライアント系の標準コマンドとして付随するmysqladminを使用したパターンです。
if mysqladmin ping -h 127.0.0.1 -u root -pパスワード --silent; then
echo "MySQL is up."
break
else
echo "Waiting for MySQL..."
sleep 3
fi
done
Docker
Docker コンテナでMySQLを稼働している場合に、ステータスをチェックするパターンです。
until [ "$(docker inspect --format='{{.State.Health.Status}}' mysqlコンテナ名)" = 'healthy' ]; do
sleep 1s
done