最後に、インストールしたMySQL 5を「SMF(Service Management Facility)」へ登録します。MySQL 5をSMFを登録すると、システムの起動・停止にあわせてMySQLが自動的に起動・停止されます。
SMFはSolaris 10から追加された新機能です。システムが提供するサービス(リモートログインやファイル転送、メールの送受信、HTTPサーバなど)の管理を簡素化し、システム管理者に一貫した管理方法を提供します。さらにサービスを提供するプロセスに障害が発生したり誤って停止した場合に、プロセスを自動的に再起動する仕組みも実現可能です。
それでは、MySQLをSMFを登録する手順を説明します。まずMySQL 5をSMFに登録するために必要な情報が記述されたXMLファイル(マニフェストと呼びます)を用意します。
幸いなことに、benrさんのBlogでMySQLのためのマニフェストが公開されて入手可能です。今回はこれを利用します。
それでは入手したマニフェストを「/var/svc/manifest/application/mysql.xml」へコピーします。
# cp mysql.xml /var/svc/manifest/application/mysql.xml
利用環境にあわせてマニフェストの内容をエディタで編集します。変更が必要な箇所の1つとして、MySQLを起動・停止するためのコマンドやスクリプトのパスがあげられます。
次の例では、MySQLの「起動(start)」「停止(stop)」に「/opt/mysql/mysql/support-files/mysql.server」スクリプトを実行します。ログファイルを閉じてまた開く時(refresh)時には 「mysqladmin」コマンドを実行するよう設定しています。
<exec_method
type="method"
name="start"
exec="/opt/mysql/mysql/support-files/mysql.server start" timeout_seconds="60"/>
<exec_method
type="method"
name="stop"
exec="/opt/mysql/mysql/support-files/mysql.server stop" timeout_seconds="60"/>
<exec_method
type="method"
name="refresh"
exec="/usr/local/mysql/bin/mysqladmin -u user_name
-h host_name --password=password refresh" timeout_seconds="60"/>
(以下省略)
マニフェストの設定が完了したら、svccfgコマンドを使ってSMFへ登録します。
# svccfg validate /var/svc/manifest/application /mysql.xml
# svccfg import /var/svc/manifest/application /mysql.xml
svcsコマンドを使うと、サービスの状態を確認することができます。
# svcs -a | grep mysql
maintenance 19:28:47 svc:/application/mysql:default
では、svcadmコマンドを使ってSMFからMySQLを起動します。
# svcadm enable svc:application/mysql
# svcs -a | grep mysql
online 21:21:08 svc:/application/mysql:default
ここまでで説明した設定手順のほか、MySQLの管理者パスワードを設定したり、データベースへのアクセス権限を適切に設定したりする必要がありますが、ここではスペースが限られるため割愛します。
|