このセクションでは、サーバ インスタンスが起動するときに、Instance Manager がどのように起動するかについて説明します。Instance Manager を起動する前に、パスワード ファイルを設定する必要があります。これにより、Instance Manager 起動後の制御ができなくなります。Instance Manager アカウントの作成に関する詳細は 項4.4.4. 「Instance Manager のユーザとパスワード管理」 を参照してください。
Unix では、mysqld MySQL
データベース
サーバは、通常、mysql.server
スクリプトで起動します。これは、/etc/init.d/
フォルダにあります。このスクリプトはデフォルトで
mysqld_safe
を呼び出します。Instance Manager
を使用して、[mysql.server]
セクションに use-manager
を追加して、/etc/my.cnf
設定ファイルを変更することもできます。
[mysql.server] use-manager
MySQL 5.1.12 前は、Instance Manager ではサーバ
インスタンスの一つだけの起動を試行していました。Instance
Manager
は起動時に設定ファイルがあればそれ読み取り、サーバ
インスタンスを検索し、インスタンスのリストを準備します。インスタンス
セクションには [mysqld]
または
[mysqld
という形式の名前があり、この
N
]N
は符号なしの整数です。(例:
[mysqld1]
、 [mysqld2]
など。).
インスタンスのリストが整うと、Instance Manager
がカードされたインスタンスをリストから起動します。インスタンスがない場合には、Instance
Manager は mysqld
というインスタンスを作成し、これをデフォルト
(コンパイル)
の設定値で立ち上げます。これは、Instance
Manager
をデフォルトの場所でインストールしていないと、mysqld
プログラムを検出できないということです。(項2.1.5. 「インストールのレイアウト」
で、MySQL
配布のコンポーネントに関するデフォルトの場所を説明しています。)
MySQL
を標準ではないところへインストールした場合、Instance
Manager
の設定ファイルを作成する必要があります。
起動時の動作は mysqld_safe で説明したものと同様に、サーバを立ち上げようとします。しかし、サーバ インスタンスの起動を抑制するような方法で、Instance Manager を実行することは不可能なため、オペレーションによっては柔軟性に欠ける場合があります。たとえば、MySQL のインストーラ を実行するときのような、インスタンスを開始せずに設定するという目的で、Instance Manager を呼び出すことはできません。MySQL 5.1.12 での変更事項は、次の通りです。
新オプション:
--mysqld-safe-compatible
、MySQL 5.1.12
以前と同様に起動時の動作を Instance Manager
にさせる。Instance Manager は
[mysqld]
インスタンス
セクションを設定ファイルで検索し、起動する。Instance
Manager が [mysqld]
セクションを見つけることができない場合、設定ファイルにアクセス可能であれば、新たに
デフォルトの設定値で[mysqld]
セクションを書き込む。そして
mysqld
インスタンスを起動する。Instance Manager
は設定ファイル内の別のガード付きインスタンスを立ち上げることもできる。
--mysqld-safe-compatible
がない場合、Instance Manager
はその設定ファイルを読み、ファイルがあれば、そのファイルのガード付きインスタンス
セクションでインスタンスを起動する。ファイルがない場合、インスタンスを起動できない。
Instance Manager は、シャットダウン時にすべてのガード付きサーバ インスタンスを終了します。
[mysqld
サーバ インスタンス
セクションで使用できるオプションは、項4.4.2. 「MySQL Instance Manager の設定ファイル」
で説明しています。そこでは、特別の
N
]mysqld-path=
オプションを使用します。これは Instance Manager
だけが認識します。このオプションを使用して、Instance
Manager に mysqld
バイナリがどこにあるかを知らせます。複数のインスタンスがある場合には、path-to-mysqld-binary
datadir
と port
のような別のオプションをセットする必要があります。これは、それぞれのインスタンスに異なるデータ
ディレクトリと TCP/IP
ポート番号があることを確かめるために行います。項4.12. 「同じマシン上での複数 MySQL サーバの実行」
では、同一のマシンで複数のインスタンスを稼動するときなど、それぞれのインスタンスで、設定値が異なる必要がある場合について説明しています。
[mysqld]
インスタンス
セクションがある場合は、Instance Manager
特有のオプションを含めないでください。
ySQL Instance Manager を使用する MySQL サーバでの Unix のスタートアップおよびシャットダウンのサイクルは、次の通りです。
/etc/init.d/mysql スクリプトで MySQL Instance Manager を起動する。
Instance Manager がガード付きサーバ インスタンスを立ち上げ、それらを監視する。
サーバ インスタンスの立ち上げに失敗すると、Instance Manager が再起動する。
Instance Manager を /etc/init.d/mysql stop などのコマンドでシステム終了するときに、すべてのサーバ インスタンスが終了になる。