MySQL 5.1 リファレンスマニュアル :: 4 データベース管理 :: 4.3 MySQL サーバ スタートアップ プログラム :: 4.3.1 mysqld_safe — MySQL サーバ スタートアップ スクリプト
« 4.3 MySQL サーバ スタートアップ プログラム

4.3.2 mysql.server — MySQL サーバ スタートアップ スクリプト »
Section Navigation      [Toggle]
  • 4.3 MySQL サーバ スタートアップ プログラム
  • 4.3.1 mysqld_safe — MySQL サーバ スタートアップ スクリプト
  • 4.3.2 mysql.server — MySQL サーバ スタートアップ スクリプト
  • 4.3.3 mysqld_multi — 複数のMySQL サーバ管理

4.3.1. mysqld_safe — MySQL サーバ スタートアップ スクリプト

mysqld_safe は Unix や NetWare などの環境で、mysqld サーバ ( デーモン) を起動するときに推奨しているコマンドです。mysqld_safe は、エラー発生時にサーバを再起動したり、ランタイム情報をログ ファイルに記録するなどのセキュリティ機能が加わります。 NetWare に特化した動作に関しては、このセクションの後方で説明します。

mysqld_safe は、mysqld という名前の実行可能ファイルを立ち上げます。デフォルトの動作を書き換えて、特定のサーバを指定するには、mysqld_safe で --mysqld または --mysqld-version のオプションを指定します。--ledir オプションで、mysqld_safe がサーバとして使用するディレクトリを指定できます。

mysqld_safe でのオプションは、mysqld のオプションと同じです。詳細は 項4.2.2. 「コマンド オプション」 を参照してください。.

コマンドラインから mysqld_safe に指定したオプションのすべては、mysqld に渡ります。mysqld_safe へ特定のオプションを使用し、それを mysqld がサポートしない場合は、コマンドラインでの指定はしないでください。その代わりに、オプション ファイルの [mysqld_safe] グループでそれらをリストしてください。詳細は、項3.3.2. 「オプションファイルの使用」 を参照してください。

mysqld_safe は、オプション ファイルの [mysqld]、 [server]、 [mysqld_safe] のセクションからすべてのオプションを読み取ります。下位互換の場合でも、 [safe_mysqld] セクションから読みますが、MySQL 5.1 をインストールするときに、該当するセクションを [mysqld_safe] へとリネームする必要があります。

mysqld_safe は次のオプションをサポートします。

  • --help

    ヘルプメッセージを表示し、終了。

  • --autoclose

    NetWare 専用。NetWare では、mysqld_safe がスクリーン表示を行う。mysqld_safe NLM をアンロード (シャットダウン) するときは、デフォルトでスクリーンが消えることはなく、代わりにユーザ入力をプロンプトする。

    *<NLM has terminated; Press any key to close the screen>*
    

    NetWare で、自動的にスクリーンを閉じるようにするには、mysqld_safe で --autoclose オプションを使用する。

  • --basedir=path

    基準パス。MySQLをインストールしているディレクトリを指す。

  • --core-file-size=size

    mysqld で作成するコア ファイルのサイズ。このオプション値は ulimit -c へ渡る。

  • --datadir=path

    データ ディレクトリへのパス。

  • --defaults-extra-file=path

    通常のオプションファイルのほかに、読み込むオプション ファイルの名前。このオプションを使用するときは、これをコマンドラインで最初のオプションにする。このファイルが存在しない、またはアクセスできないという場合には、サーバがエラーを出して終了する。

  • --defaults-file=file_name

    通常のオプション ファイルの代わりに読み込むオプション ファイルの名前。このオプションを使用するときには、これをコマンドラインで最初のオプションにする。

  • --ledir=path

    mysqld_safe でサーバをみつけることができない場合、このオプションでサーバがあるディレクトリへのパス探す。.

  • --log-error=file_name

    任意のファイルにエラー ログを書き込む。項4.11.2. 「エラー ログ」 を参照のこと。

  • --mysqld=prog_name

    ledir ディレクトリにある (起動する) サーバ プログラムの名前。このオプションは、MySQL バイナリ配布を使用するが、バイナリ配布外にデータ ディレクトリがある場合に、このオプションを使用する。mysqld_safe でサーバをみつけることができない場合は、 --ledir オプションを使用して、サーバ ディレクトリのパスを探す。

  • --mysqld-version=suffix

    --mysqld オプションと類似のオプション。ここではサーバのプログラム名 (mysqld) のサフィックスだけを指定する。ベース名を mysqld とする。たとえば、--mysqld-version=debug を使用すると、mysqld_safe は ledir ディレクトリの mysqld-debug プログラムを起動する。--mysqld-version の引数が空白の場合、mysqld_safeでは、ledir ディレクトリの mysqld を使用する。

  • --nice=priority

    nice プログラムは任意の値に対してサーバのスケジュール優先順位を設定する。

  • --no-defaults

    オプション ファイルを読まない。このオプションを使用するときは、コマンドラインの最初に置く。

  • --open-files-limit=count

    mysqld が開くファイル数。オプション値は ulimit -n へ渡る。ノート:正確に機能させるには、mysqld_safe を root として立ち上げる。

  • --pid-file=file_name

    ID ファイルのパス名

  • --port=port_num

    TCP/IP 接続時に使用するポート番号。ポート番号は 1024 以上にする。サーバが root システム ユーザで立ち上がっている場合はこの限りではない。

  • --socket=path

    サーバがローカル接続に使用するUnix のソケット ファイル。

  • --timezone=timezone

    TZ タイム ゾーンの環境変数を任意のオプション値に設定する。正規 (リーガル) のタイム ゾーン形式に関しては、オペレーティング システムのマニュアルを参照のこと。

  • --user={user_name|user_id}

    mysqld サーバを、user_name (名前)、または user_id (数字のユーザ ID) を保有するユーザとして実行する。ここでの 「ユーザ」 は、権限テーブルにリストしている MySQL ユーザではなく、システム ログイン アカウントを指す)。

mysqld_safe を実行するときに、 --defaults-file または --defaults-extra-option のオプションをオプション ファイルとするときに、このオプションをコマンドラインの最初に置く。そうしないと、オプション ファイルは使用できません。たとえば、次のコマンドはオプション ファイルとして使用することはできません。

mysql> mysqld_safe --port=port_num --defaults-file=file_name

代わりに、次のコマンドを使用します。

mysql> mysqld_safe --defaults-file=file_name --port=port_num

mysqld_safe スクリプトを書くと、通常はソースまたは MyQL のバイナリ配布からインストールしたサーバを立ち上げることができ、これは、このようなタイプの配布を通常とは異なる場所にインストールする場合も同様です。(項2.1.5. 「インストールのレイアウト」 を参照のこと。) mysqld_safe では、次の条件が true である必要があります。

  • サーバとデータベースは作業中のディレクトリと関連する。つまり mysqld_safe から呼び出したディレクトリであること。バイナリ配布の場合、mysqld_safe は、bin と data のディレクトリにあり、ソース配布の場合は、libexec と var のディレクトリにある。この条件が一致していると、MySQL をインストールしたディレクトリから mysqld_safe を実行できる。たとえば、バイナリ配布の場合には、/usr/local/mysql である。

  • サーバとデータベースが作業中のディレクトリと関連しない場合は、mysqld_safe は絶対パスで探そうとする。通常は、/usr/local/libexec と /usr/local/var に位置する。実際の場所は、構築したとき設定した値で決定する。MySQL を設定時に指定の場所へインストールしていれば、正確に動作する。

mysqld_safe は作業中のディレクトリに関連しているサーバとデータベースを探すため、基本的には MySQL のバイナリ配布をどこにでもインストールできますが、mysqld_safe の実行は、MySQL をインストールしたディレクトリである必要があります。

shell> cd mysql_installation_directory
shell> bin/mysqld_safe &

MySQL をインストールしたディレクトリから呼び出しても、mysqld_safe で失敗する場合、--ledir または --datadir オプションで指定して、システム内のサーバとデータベースがあるディレクトリを指してください。

通常、mysqld_safe のスクリプトは編集してはいけません。その必要がある場合には、mysqld_safe を my.cnf オプション ファイルの [mysqld_safe] セクションにあるコマンドライン オプションを使用します。稀なケースでは、サーバを正確に起動するために、mysqld_safe を編集する必要があります。これを行う場合、mysqld_safe を修正しても、MySQL をアップグレードするときに、上書きされてしまうため、その修正バージョンのコピーを再インストールように控えておくことをお勧めします。

NetWare では、mysqld_safe が NetWare Loadable Module (NLM) であり、オリジナルの Unix シェル スクリプトからポートしています。この場合には、サーバは次のような経緯で立ち上がります。

  1. 数々のシステムを実行し、オプション チェックを行う。

  2. MyISAM テーブルのチェックをする。

  3. MySQL サーバにスクリーンのプレゼンスを規定する。

  4. mysqld を立ち上げ、それを監視し、再起動するときに、エラーで終了するかどうかをみる。

  5. データ ディレクトリに mysqld から host_name.err へエラー メッセージを送る。

  6. mysqld_safe のスクリーン出力をデータ ディレクトリの host_name.safe ファイルへ送る。

Copyright © 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates