MySQL 5.1 リファレンスマニュアル :: 2 MySQL のインストールと更新 :: 2.10 インストール後の設定とテスト :: 2.10.2 Unix のインストール後のプロシージャ :: 2.10.2.2 MySQL を自動的に起動・停止する
« 2.10.2.1 mysql_install_db 実行中の問題

2.10.2.3 MySQL サーバの起動とトラブルシューティング »
Section Navigation      [Toggle]
  • 2.10.2 Unix のインストール後のプロシージャ
  • 2.10.2.1 mysql_install_db 実行中の問題
  • 2.10.2.2 MySQL を自動的に起動・停止する
  • 2.10.2.3 MySQL サーバの起動とトラブルシューティング

2.10.2.2. MySQL を自動的に起動・停止する

一般的には mysqld サーバを以下のいずれかで起動します。

  • mysqld を直接実行します。これはプラットフォームで行われます。

  • MySQL サーバを Windows のサービスで稼動します。これはサービスをサポートしている Windows (NT、2000、XP、および 2003 など) で可能です。このサービスでは Windows を起動したときにサーバを自動的に起動する、あるいは手動サービスとして要求に基づいて起動するように設定できます。その手順は、項2.3.11. 「Windows のサービスとして MySQL を起動する」 を参照してください。

  • mysqld_safe を実行すると、mysqld の適切なオプションを判断してそれらのオプションでそれを実行します。このスクリプトは Unix および Unix 様のシステムで使用できます。項4.3.1. 「mysqld_safe — MySQL サーバ スタートアップ スクリプト」 参照。

  • mysql.server の起動.このスクリプトはシステム V-style 実行ディレクトリを使用しているシステムのシステムの起動時およびシャットダウン時に主に使用されます。それは通常mysql の名前でインストールされます。.mysql.server スクリプトは mysqld_safe を実行してサーバを起動します。項4.3.2. 「mysql.server — MySQL サーバ スタートアップ スクリプト」 参照。

  • Mac OS X では、システムの起動で MySQL を自動的に起動する個別の MySQL 起動アイテムパッケージをインストールできます。起動アイテムは mysql.server を実行するとサーバを起動します。詳細は、項2.5. 「Mac OS X に MySQL をインストールする」 を参照してください。

mysqld_safe および mysql.server スクリプト並びに Mac OS X 起動アイテムでシステムの起動時にサーバを手動、あるいは自動的に起動できます。mysql.server および起動アイテムはサーバを停止することもできます。

mysql.server スクリプトを使用してサーバを手動で起動・停止するには、サーバを start あるいは stop 引数で呼び出します。

shell> mysql.server start
shell> mysql.server stop

mysql.server がサーバを起動する前に、ロケーションを MySQL インストール ディレクトリに変更し、次に mysqld_safe を実行します。サーバを特定のユーザーとして起動するには、適切な user オプションを/etc/my.cnf オプション ファイルの [mysqld] グループにこの項の後で示すように追加します。(バイナリ ディストリビューションの MySQL を標準と異なるロケーションにインストールした場合には mysql.server の編集が必要になる場合があります。mysqld_safe を実行する前にそれを cd に変更して適切なディレクトリに入れます。これを行うと、変更したバージョンの mysql.server は将来 MySQL をアップグレードすると上書きされる場合がありますので、編集したバージョンをインストールできるようにコピーを取っておく必要があります。

mysql.server stop は停止する信号を送ってサーバを停止します。mysqladmin shutdown を実行してサーバを手動で停止することもできます。

サーバ上の MySQL を自動的に起動・停止するには、起動・停止コマンドを /etc/rc* ファイルの適切な場所に加える必要があります。

Linux サーバ RPM パッケージ (MySQL-server-VERSION.rpm) を使用する場合には、mysql.server スクリプトを /etc/init.d ディレクトリに mysql の名前でインストールします。それを手動でインストールする必要はありません。Linux RPM パッケージに関する詳細は、項2.4. 「Linux に MySQL をインストールする」 を参照してください。

ベンダーによっては起動スクリプトをインストールする RPM パッケージを mysqld のような別名で提供している場合もあります。

MySQL をソース ディストリビューションからあるいは mysql.server を自動的にインストールしないバイナリのディストリビューション フォーマットを使用してインストールする場合、それを手動でインストールできます。そのスクリプトは MySQL インストール ディレクトリの support-files ディレクトリあるいは MySQL のソース ツリーにあります。

mysql.server を手動でインストールするには、それを /etc/init.d ディレクトリに mysql の名前でコピーし、次にそれを実行ファイルにします。実行ファイルにするには mysql.server を格納を格納しこれらのコマンドを実行する適切なディレクトリにロケーションを変更します。

shell> cp mysql.server /etc/init.d/mysql
shell> chmod +x /etc/init.d/mysql

古い Red Hat システムは /etc/init.d ではなく /etc/rc.d/init.d ディレクトリを使用しています。上記のコマンドを状況に応にて変更します。または、最初に /etc/init.d をシンボリック リンクとして /etc/rc.d/init.d にポイントして作成します。

shell> cd /etc
shell> ln -s rc.d/init.d .

スクリプトをインストールした後、使用しているオペレーティング システムに基づいてシステムの起動時にコマンドを実行できるように有効化します。Linux では、chkconfig を使用します。

shell> chkconfig --add mysql

Linux システムに中には、mysql スクリプトをフルに有効にするには以下のコマンドが必要になる場合があります。

shell> chkconfig --level 345 mysql on

FreeBSD では、起動スクリプトは通常 /usr/local/etc/rc.d/ にあります。.rc(8) のマニュアルではこのディレクトリのスクリプトはそれらのベースの名前が *.sh シェルのファイル名のパターンに一致したときのみ実行できると書いてあります。そのディレクトリの他のファイルあるいはディレクトリは無視されます。換言すれば、FreeBSD では、mysql.server スクリプトを /usr/local/etc/rc.d/mysql.server.sh としてインストールして自動による起動を有効にします。

上記の設定の代案として、オペレーティング システムの中には /etc/rc.local あるいは /etc/init.d/boot.local を使用して起動時に追加のサービスを起動しています。この方法で MySQL を起動するには、以下のようなコマンドを適切な起動ファイルに追加します。

/bin/sh -c 'cd /usr/local/mysql; ./bin/mysqld_safe --user=mysql &'

他のシステムの起動スクリプトのインストール方法についてはそのオペレーティング システムの説明書をお読みください。

mysql.server のグローバル /etc/my.cnf ファイルにオプションを追加できます。一般的な /etc/my.cnf ファイルは以下のようになります。

[mysqld]
datadir=/usr/local/mysql/var
socket=/var/tmp/mysql.sock
port=3306
user=mysql

[mysql.server]
basedir=/usr/local/mysql

mysql.server スクリプトは以下のオプションを実行します。basedir、datadir、および pid-file。指定する場合には、それらはコマンドラインではなくオプション ファイルに入れる 必要が あります。 mysql.server は start および stop をコマンドラインの引数として理解します。

以下のテーブルはどのオプション グループからサーバおよび各起動スクリプトがオプション ファイルを読むか示しています。

スクリプト オプション グループ
mysqld [mysqld], [server], [mysqld-major_version]
mysqld_safe [mysqld], [server], [mysqld_safe]
mysql.server [mysqld], [mysql.server], [server]

[mysqld-major_version] は[mysqld-5.0] および [mysqld-5.1] の名前のグループが 5.0.x、5.1.x、などのバージョンのサーバによって読まれることを意味しています。この機能は所定のリリース シリーズのサーバによってのみ読まれるオプションを指定するために使用されています。

下位互換の場合、mysql.server は[mysql_server] グループも読み込み mysqld_safe は[safe_mysqld] グループも読み込みます。しかし、MySQL 5.1 を使用する際は、[mysql.server] および [mysqld_safe] グループを読み込めるようにオプション ファイルをアップグレードする必要があります。

項3.3.2. 「オプションファイルの使用」 を参照してください。

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