Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.1Mb
EPUB - 7.5Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  ...  /  mysql.server — MySQL サーバー起動スクリプト

4.3.3 mysql.server — MySQL サーバー起動スクリプト

Unix の MySQL 配布には、mysql.server というスクリプトがあります。System V スタイルの実行ディレクトリを使用してシステムサービスの起動および停止を行う、Linux および Solaris などのシステムで使用できます。MySQL の OS X Startup Item でも使用されます。

mysql.server は、MySQL インストールディレクトリの support-files または MySQL のソース配布にあります。

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

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

MySQL をソース配布から、あるいは mysql.server を自動的にインストールしないバイナリの配布形式を使用してインストールする場合、それを手動でインストールできます。手順はセクション2.10.1.2「MySQL を自動的に起動および停止する」を参照してください。

mysql.server は、オプションファイルの [mysql.server] セクションおよび [mysqld] セクションからオプションを読み取ります。下位互換性のため、[mysql_server] セクションも読み取りますが、MySQL 5.6 を使用する場合は、このようなセクションは [mysql.server] に名前変更するようにしてください。

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

  • --basedir=path

    MySQL インストールディレクトリへのパス。

  • --datadir=path

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

  • --pid-file=file_name

    サーバーがプロセス ID を書き込むべきファイルのパス名。

  • --service-startup-timeout=seconds

    サーバーの起動を確認するために待機する秒数。サーバーがこの時間内に起動しない場合、mysql.server はエラーで終了します。デフォルト値は 900 です。0 の値は、起動をまったく待機しないことを意味します。負の値はいつまでも (タイムアウトなしで) 待機することを意味します。

  • --use-mysqld_safe

    mysqld_safe を使用してサーバーを起動します。これはデフォルトです。

  • --user=user_name

    mysqld を実行する際に使用するログインユーザー名。


User Comments
  Posted by David Tonhofer on October 5, 2007
As the main goal of mysql.server is to:

1) Find a program that can read MySQL "my.cnf" argument files (preferably "./bin/my_print_defaults"),
2) Find an applicable "my.cnf" argument file (preferably "$datadir/my.cnf"),
3) Extract attribute-value pairs from sections "[mysqld]", "[server]", "[mysql_server]", "[mysql.server]" from the found "my.cnf" and several default "my.cnf" files,
4) Transform the resulting bunch of pairs into command line arguments to be passed to MySQL server,

...you are probably interested in the resulting command line and the command that generated it.

Replace:

----
parse_server_arguments `$print_defaults $extra_args mysqld server mysql_server mysql.server`

# Look for the pidfile
parse_manager_arguments `$print_defaults $extra_args manager`
----

by:

----
# Get arguments for server, which may cause reshuffle
COLLECT_COMMAND="$print_defaults $extra_args mysqld server mysql_server mysql.server"
echo "Now running for server: $COLLECT_COMMAND"
COLLECT_RESULT=`$COLLECT_COMMAND`
echo "Collected for server: $COLLECT_RESULT"
parse_server_arguments $COLLECT_RESULT

# Look for the (manager) pidfile
COLLECT_COMMAND="$print_defaults $extra_args manager"
echo "Now running for manager: $COLLECT_COMMAND"
COLLECT_RESULT=`$COLLECT_COMMAND`
echo "Collected for manager: $COLLECT_RESULT"
parse_manager_arguments $COLLECT_RESULT
----

And also add

-----------
echo "Manager PID file is $pid_file, Server PID file is $server_pid_file"
-----------

directly before the line 'case "$mode" in'

for some great debugging justice.

Sign Up Login You must be logged in to post a comment.