起動処理 (restore)

以下の順序で MySQL リソースの起動を試みます。

  1. 後述する監視処理と同一の項目を確認し、MySQL が起動状態にあることを確認します。起動状態にあると判断された場合は起動処理は成功で終了します。
  1. 以下のコマンドで MySQL を起動します。
    # /usr/bin/systemctl start <サービス名>
    
  1. 後述する監視処理と同一の項目を確認し、MySQL が起動状態にあることを確認します。確認に失敗した場合はエラーで終了します。

停止処理 (remove)

リソース作成時に指定した MySQL の設定ファイル (my.cnf) より各情報を取得し、MySQL リソースの監視を試みます。

  1. 後述する監視処理と同一の項目を確認し、MySQL が起動状態にあることを確認します。起動状態にあると判断された場合は以下のコマンドで MySQL を停止します。戻り値により停止コマンドが成功したと判断された場合は停止処理は成功で終了します。
    # mysqladimin -u <ユーザー名> --password=<パスワード> --socket=<ソケット> shutdown
    

    ユーザー名 : my.cnf の [client] セクション内の [user] の値
    パスワード : my.cnf の [client] セクション内の [password] の値
    ソケット : my.cnf の [mysqld] セクション内の [socket] の値
  1. 項目1. において戻り値により停止コマンドが失敗したと判断された場合は、MySQL の PID ファイルの存在の有無により、以下の様に分岐しプロセスが存在しないことを確認します。確認に成功した場合は停止処理は成功で終了します。

    1. PID ファイルが存在する場合は、ps コマンドの出力中に MySQL の PID ファイルに記載された番号のプロセスが存在しないことを確認します。

      PID ファイル : my.cnf の [mysqld] セクション内の [pid-file] の値

    2. PID ファイルが存在しない場合は、ps コマンドの出力中に MySQL の ポート番号とソケットを使用するプロセスが存在しないことを確認します。

      ポート番号 : my.cnf の [mysqld] セクション内の [port] の値
      ソケット : my.cnf の [mysqld] セクション内の [socket] の値
  1. 項目2. のいずれかより確認したプロセス ID をもとに、ps コマンドより親プロセスを確認し、親プロセスに対し SIGTERM を発行し、5秒待機します。
  1. ps コマンド出力中に項目3. より確認した親プロセスが存在する場合は、未だに停止状態にないと判断し、親プロセスに対し SIGKILL を発行し、5秒待機します。
  1. 項目2. のいずれかより確認したプロセス ID に対し SIGTERM を発行し5秒待機します。SIGTERM 発行の成功または失敗により、停止処理の成功または失敗として終了します。

監視処理 (quickCheck)

リソース作成時に指定した MySQL の設定ファイル (my.cnf) より各情報を取得し、MySQL リソースの監視を試みます。

  1. 以下のコマンドで VARIABLES を参照します。参照できた場合は成功で終了します。
    # mysqladimin -u <ユーザー名> --password=<パスワード> --socket=<ソケット> variables
    

    ユーザー名 : my.cnf の [client] セクション内の [user] の値
    パスワード : my.cnf の [client] セクション内の [password] の値
    ソケット : my.cnf の [mysqld] セクション内の [socket] の値
  1. 項目1. において VARIABLES が参照できない場合は、MySQL の PID ファイルの存在の有無により、以下の様に分岐しプロセスが存在することを確認します。確認に失敗した場合はエラーで終了します。

    1. PID ファイルが存在する場合は、ps コマンドの出力中に MySQL の PID ファイルに記載された番号のプロセスが存在することを確認します。

      PID ファイル : my.cnf の [mysqld] セクション内の [pid-file] の値

    2. PID ファイルが存在しない場合は、ps コマンドの出力中に MySQL のポート番号とソケットを使用するプロセスが存在することを確認します。

      ポート番号 : my.cnf の [mysqld] セクション内の [port] の値
      ソケット : my.cnf の [mysqld] セクション内の [socket] の値

回復処理 (recover)

  1. 上述の停止処理と起動処理を順に実行し、MySQL リソースの回復を試みます。

フィードバック

お役に立ちましたか?

はい いいえ
お役に立ちましたか
理由をお聞かせください
フィードバックありがとうございました

このトピックへフィードバック

送信