一般的には mysqld サーバーを以下のいずれかで起動します。
直接 mysqld を呼び出します。これはプラットフォームで行われます。
MySQL サーバーを Windows サービスとして実行します。このサービスでは Windows を起動したときにサーバーを自動的に起動する、あるいは手動サービスとして要求に基づいて起動するように設定できます。その手順は、項2.3.11. 「Windows のサービスとして MySQL を起動する」 を参照してください。
mysqld_safe を実行すると、mysqld の適切なオプションを判断してそれらのオプションでそれを実行します。このスクリプトは Unix および Unix 様のシステムで使用できます。mysqld_safe を参照してください。
mysql.server
を呼び出します。それは通常
mysql
の名前でインストールされます。mysql.server
スクリプトは
mysqld_safe
を実行してサーバーを起動します。mysql.server
を参照してください。
Mac OS X では、システム起動時の MySQL の自動起動を有効にする別個の MySQL Startup Item パッケージをインストールします。起動アイテムは mysql.server を実行するとサーバーを起動します。詳細は 項2.5. 「Mac OS X に MySQL をインストールする」 を参照してください。
mysqld_safe および mysql.server スクリプトと Mac OS X Startup Item を使って、サーバーを手動で起動したり、システム起動時に自動的に起動したりできます。mysql.server と Startup Item を使って、サーバーを停止することもできます。
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
を実行する前にそれを修正してロケーションを適切なディレクトリに変更します。これを行うと、変更したバージョンの
mysql.server は将来
MySQL
をアップグレードすると上書きされる場合がありますので、編集したバージョンをインストールできるようにコピーを取っておく必要があります。
mysql.server stop は停止する信号を送ってサーバーを停止します。mysqladmin shutdown を実行してサーバーを手動で停止することもできます。
サーバー上の MySQL
を自動的に起動・停止するには、起動・停止コマンドを
/etc/rc*
ファイルの適切な場所に加える必要があります。
Linux サーバー RPM パッケージ
(MySQL-server-
)
を使用する場合には、mysql.server
スクリプトを
VERSION
.rpm/etc/init.d
ディレクトリに
mysql
の名前でインストールします。それを手動でインストールする必要はありません。Linux
RPM
パッケージに関する詳細は、項2.4. 「RPM パッケージから 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
The mysql.server
スクリプトは、basedir
、datadir
、および
pid-file
の各オプションをサポートしています。これらのオプションを指定する場合は、コマンドラインではなくオプションファイルに配置する必要があります。mysql.server
は、start
および
stop
のみをコマンドラインの引数としてサポートしています。
次の表は、サーバーおよび各起動スクリプトがオプションファイルから読み取るオプショングループを示しています。
スクリプト | オプショングループ |
mysqld |
[mysqld] ,
[server] ,
[mysqld-
|
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]
グループを使用するようにしてください。
Using Option Files を参照してください。