起動処理(restore)

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

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

停止処理(remove)

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

  1. 後述する監視処理と同一の項目を確認し、MySQLが起動状態にあることを確認します。起動状態にあると判断された場合は以下のコマンドでMySQLを停止します。戻り値により停止コマンドが成功したと判断された場合は停止処理は成功で終了します。
    # mysqladmin -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を参照します。参照できた場合は成功で終了します。
    # mysqladmin -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リソースの回復を試みます。

フィードバック

お役に立ちましたか?

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

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

送信