この章では、Sun Cluster HA for MySQL のインストールと構成の方法について説明します。
この章の内容は次のとおりです。
表 1 に、Sun Cluster HA for MySQL のインストールと構成に必要な作業を示します。指定された順番どおりに、各作業を行なってください。
表 1 Task Map: Sun Cluster HA for MySQL のインストールと構成
作業 |
参照先 |
---|---|
1. インストールについて計画します。 | |
2. MySQL をインストールして構成します。 | |
3. インストールと構成を確認します。 | |
4. Sun Cluster HA for MySQL Package をインストールします。 | |
5. Sun Cluster HA for MySQL を登録して構成します。 | |
6. Sun Cluster HA for MySQL のインストールと構成を確認します。 | |
7. Sun Cluster HA for MySQL の障害モニターを理解します。 | |
8. Sun Cluster HA for MySQL をデバッグします。 | |
9. Sun Cluster HA for MySQL を使用するときに SC3.1 にアップグレードします。 | |
10. Sun Cluster HA for MySQL を使用するときに MySQL 3.23.54 から 4.0.15 にアップグレードします。 |
「Sun Cluster HA for MySQL 使用時に MySQL を 3.23.54 から 4.x.x にアップグレードする」 |
MySQL ソフトウェアは、超高速で堅牢なマルチスレッドおよびマルチユーザー型の SQL (Structured Query Language) データベースサーバーを提供します。MySQL Server は作業量の多い基幹系の本番システム用であるとともに、大量配備型のソフトウェアに組み込むことが想定されています。MySQL は MySQL ABTM の商標です。
MySQL は、GNU 一般公衆利用許諾契約条件のもとで無料で利用でき、http://www.mysql.com からダウンロードできます。
Sun Cluster HA for MySQL データサービスのメカニズムによって、MySQL サービスの順序正しい起動、停止、障害モニター、自動フェイルオーバーを実行できます。次の MySQL コンポーネントは、Sun Cluster HA for MySQL データサービスによって保護されます。
表 2 コンポーネントの保護
構成要素 |
コンポーネントを保護するデータサービス |
---|---|
MySQL サーバー |
Sun Cluster HA for MySQL |
ここでは、Sun Cluster HA for MySQL のインストールと構成の計画について説明します。
ここでは、Sun Cluster HA for MySQL にのみ適用されるソフトウェアとハードウェア構成の制限事項を示します。
すべてのデータサービスに適用される制限事項については、『Sun Cluster Release Notes』を参照してください。
これらの制限事項を守らないと、データサービスの構成がサポートされない場合があります。
Sun Cluster for MySQL はフェイルオーバーデータサービスとしてのみ構成が可能であり、スケーラブルデータサービスとしては構成できません。
MySQL 構成ファイル (my.cnf) は、必ず MySQL データベースディレクトリに格納するべきです。my.cnf をローカルファイルシステムに保管しなければならない場合は、MySQL データベースディレクトリからのシンボリックリンクを作成します。コマンド行オプションが書き換えられる可能性があるため、構成ファイル my.cnf は /etc (広域ファイル) には格納するべきではありません。
サポートされる構成 – 現在 Sun Cluster HA for MySQL データサービスがサポートする構成は次のとおりです。
マスター構成で単一または複数の MySQL インスタンス
スレーブ構成で単一または複数の MySQL インスタンス
マスターインスタンスとスレーブインスタンスを同じ物理ノードに配置しないでください。
クラスタファイルシステムへの MySQL のインストール — MySQL の配布方法 (http://www.mysql.com から配布する、またはほかのソースから配布する) に関係なく、次の制限事項が適用されます。
各 MySQL インスタンスは一意のデータベースディレクトリを持っている必要があります。このデータベースディレクトリは、フェイルオーバーファイルシステムまたは広域ファイルシステムとしてマウントできます。
広域ファイルシステムをマウントする場合は /global という接頭辞を指定し、フェイルオーバーファイルシステムをマウントする場合は /local という接頭辞を指定するのが最適です。
次に、MySQL と 2 つの MySQL インスタンス (mysql-data-1 と mysql-data-2) の両方を広域ファイルシステムにインストールする例を示します。最終出力は、Veritas Volume Manager を使用して配備された MySQL に対応する /etc/vfstab エントリのサブセットです。
# ls -l /usr/local total 4 drwxrwxrwx 2 root other 512 Oct 1 16:44 bin lrwxrwxrwx 1 root other 13 Oct 11 11:20 mysql -> /global/mysql # # ls -l /global/mysql total 10432 drwxr-xr-x 13 mysql mysql 512 Mar 16 00:03 . drwxrwxrwx 7 root other 2048 Apr 11 09:53 .. -rw-r--r-- 1 mysql mysql 19106 Mar 15 23:29 COPYING -rw-r--r-- 1 mysql mysql 28003 Mar 15 23:29 COPYING.LIB -rw-r--r-- 1 mysql mysql 126466 Mar 15 16:47 ChangeLog -rw-r--r-- 1 mysql mysql 6811 Mar 15 23:29 INSTALL-BINARY -rw-r--r-- 1 mysql mysql 1937 Mar 15 16:47 README drwxr-xr-x 2 mysql mysql 1536 Mar 16 00:03 bin -rwxr-xr-x 1 mysql mysql 773 Mar 16 00:03 configure drwxr-x--- 4 mysql mysql 512 Mar 16 00:03 data drwxr-xr-x 2 mysql mysql 1024 Mar 16 00:03 include drwxr-xr-x 2 mysql mysql 512 Mar 16 00:03 lib drwxr-xr-x 3 mysql mysql 512 Mar 16 00:03 man -rw-r--r-- 1 mysql mysql 2676944 Mar 15 23:23 manual.html -rw-r--r-- 1 mysql mysql 2329252 Mar 15 23:23 manual.txt -rw-r--r-- 1 mysql mysql 98233 Mar 15 23:23 manual_toc.html drwxr-xr-x 6 mysql mysql 512 Mar 16 00:03 mysql-test drwxr-xr-x 2 mysql mysql 512 Mar 16 00:03 scripts drwxr-xr-x 3 mysql mysql 512 Mar 16 00:03 share drwxr-xr-x 7 mysql mysql 1024 Mar 16 00:03 sql-bench drwxr-xr-x 2 mysql mysql 512 Mar 16 00:03 support-files drwxr-xr-x 2 mysql mysql 512 Mar 16 00:03 tests # ls -l /global/mysql-data-1 Total 30 drwxrwxrwx 9 mysql mysql 512 Apr 15 12:06 . drwxrwxrwx 20 root root 1024 Apr 10 12:41 .. drwxr-xr-x 2 mysql mysql 512 Apr 15 12:00 BDB drwxrwxrwx 2 mysql mysql 512 Apr 15 11:59 innodb drwxrwxrwx 2 mysql mysql 2048 Apr 15 14:47 logs -rw-r--r-- 1 mysql mysql 1432 Apr 15 11:58 my.cnf drwx------ 2 mysql mysql 512 Apr 15 11:59 mysql -rw-rw---- 1 mysql mysql 5 Apr 15 14:47 mysqld.pid drwx------ 2 mysql mysql 512 Apr 15 14:53 sc3_test_database drwx------ 2 mysql mysql 512 Apr 15 11:58 test drwx------ 2 mysql mysql 512 Apr 15 12:00 testdb # # ls -l /global/mysql-data-2 total 32 drwxrwxrwx 9 mysql mysql 512 Apr 15 07:49 . drwxrwxrwx 20 root root 1024 Apr 10 12:41 .. drwxr-xr-x 2 mysql mysql 512 Apr 14 11:16 BDB drwxr-xr-x 2 mysql mysql 512 Apr 14 11:14 innodb drwxr-xr-x 2 mysql mysql 2560 Apr 15 10:15 logs -rw-r--r-- 1 mysql mysql 1459 Apr 14 11:13 my.cnf drwx------ 2 mysql mysql 512 Apr 14 11:14 mysql -rw-rw---- 1 mysql mysql 5 Apr 15 10:10 mysqld.pid drwx------ 2 mysql mysql 512 Apr 15 10:10 sc3_test_database drwx------ 2 mysql mysql 512 Apr 14 11:14 test drwx------ 2 mysql mysql 512 Apr 14 11:16 testdb # more /etc/vfstab (Subset of the output) /dev/vx/dsk/dg1/vol01 /dev/vx/rdsk/dg1/vol01 /global/mysql ufs 2 yes global,logging /dev/vx/dsk/dg2/vol01 /dev/vx/rdsk/dg2/vol01 /global/mysql-data-1 ufs 2 yes global,logging /dev/vx/dsk/dg2/vol01 /dev/vx/rdsk/dg2/vol01 /global/mysql-data-2 ufs 2 yes global,logging # |
この例では、1 番目の MySQL インスタンスのデータベースディレクトリは /global/mysql-data-1 であり、2 番目の MySQL インスタンスのデータベースディレクトリは /global/mysql-data-2 です。
次に MySQL をローカルファイルシステムに、2 つの MySQL インスタンス (mysql-data-1 と mysql-data-2) をフェイルオーバーファイルシステムにインストールする例を示します。最終出力は、Veritas Volume Manager を使用して配備された MySQL に対応する /etc/vfstab エントリのサブセットです。
# ls -l /usr/local/mysql total 10432 drwxr-xr-x 13 mysql mysql 512 Mar 16 00:03 . drwxrwxrwx 7 root other 2048 Apr 11 09:53 .. -rw-r--r-- 1 mysql mysql 19106 Mar 15 23:29 COPYING -rw-r--r-- 1 mysql mysql 28003 Mar 15 23:29 COPYING.LIB -rw-r--r-- 1 mysql mysql 126466 Mar 15 16:47 ChangeLog -rw-r--r-- 1 mysql mysql 6811 Mar 15 23:29 INSTALL-BINARY -rw-r--r-- 1 mysql mysql 1937 Mar 15 16:47 README drwxr-xr-x 2 mysql mysql 1536 Mar 16 00:03 bin -rwxr-xr-x 1 mysql mysql 773 Mar 16 00:03 configure drwxr-x--- 4 mysql mysql 512 Mar 16 00:03 data drwxr-xr-x 2 mysql mysql 1024 Mar 16 00:03 include drwxr-xr-x 2 mysql mysql 512 Mar 16 00:03 lib drwxr-xr-x 3 mysql mysql 512 Mar 16 00:03 man -rw-r--r-- 1 mysql mysql 2676944 Mar 15 23:23 manual.html -rw-r--r-- 1 mysql mysql 2329252 Mar 15 23:23 manual.txt -rw-r--r-- 1 mysql mysql 98233 Mar 15 23:23 manual_toc.html drwxr-xr-x 6 mysql mysql 512 Mar 16 00:03 mysql-test drwxr-xr-x 2 mysql mysql 512 Mar 16 00:03 scripts drwxr-xr-x 3 mysql mysql 512 Mar 16 00:03 share drwxr-xr-x 7 mysql mysql 1024 Mar 16 00:03 sql-bench drwxr-xr-x 2 mysql mysql 512 Mar 16 00:03 support-files drwxr-xr-x 2 mysql mysql 512 Mar 16 00:03 tests # ls -l /local/mysql-data-1 Total 30 drwxrwxrwx 9 mysql mysql 512 Apr 15 12:06 . drwxrwxrwx 20 root root 1024 Apr 10 12:41 .. drwxr-xr-x 2 mysql mysql 512 Apr 15 12:00 BDB drwxrwxrwx 2 mysql mysql 512 Apr 15 11:59 innodb drwxrwxrwx 2 mysql mysql 2048 Apr 15 14:47 logs -rw-r--r-- 1 mysql mysql 1432 Apr 15 11:58 my.cnf drwx------ 2 mysql mysql 512 Apr 15 11:59 mysql -rw-rw---- 1 mysql mysql 5 Apr 15 14:47 mysqld.pid drwx------ 2 mysql mysql 512 Apr 15 14:53 sc3_test_database drwx------ 2 mysql mysql 512 Apr 15 11:58 test drwx------ 2 mysql mysql 512 Apr 15 12:00 testdb # #ls -l /local/mysql-data-2 total 32 drwxrwxrwx 9 mysql mysql 512 Apr 15 07:49 . drwxrwxrwx 20 root root 1024 Apr 10 12:41 .. drwxr-xr-x 2 mysql mysql 512 Apr 14 11:16 BDB drwxr-xr-x 2 mysql mysql 512 Apr 14 11:14 innodb drwxr-xr-x 2 mysql mysql 2560 Apr 15 10:15 logs -rw-r--r-- 1 mysql mysql 1459 Apr 14 11:13 my.cnf drwx------ 2 mysql mysql 512 Apr 14 11:14 mysql -rw-rw---- 1 mysql mysql 5 Apr 15 10:10 mysqld.pid drwx------ 2 mysql mysql 512 Apr 15 10:10 sc3_test_database drwx------ 2 mysql mysql 512 Apr 14 11:14 test drwx------ 2 mysql mysql 512 Apr 14 11:16 testdb # more /etc/vfstab (Subset of the output) /dev/vx/dsk/dg2/vol01 /dev/vx/rdsk/dg2/vol01 /local/mysql-data-1 ufs 2 yes logging /dev/vx/dsk/dg2/vol01 /dev/vx/rdsk/dg2/vol01 /local/mysql-data-2 ufs 2 yes logging # |
この例では、1 番目の MySQL インスタンスのデータベースディレクトリは /local/mysql-data-1 であり、2 番目の MySQL インスタンスのデータベースディレクトリは /local/mysql-data-2 です。
ここで説明する要件が適用されるのは、Sun Cluster HA for MySQL に限られます。Sun Cluster HA for MySQL のインストールと構成を始める前に、次の要件を満たしておく必要があります。
次の要件を満たさないと、データサービスの構成がサポートされない場合があります。
MySQL コンポーネントとそれらの依存関係 — Sun Cluster HA for MySQL データサービスは、MySQL インスタンスとそれぞれのコンポーネントを保護するように構成できます。コンポーネントと各コンポーネント間の依存関係について簡単に説明します。
この例では、1 番目の MySQL インスタンスのデータベースディレクトリは /local/mysql-data-1 であり、2 番目の MySQL インスタンスのデータベースディレクトリは /local/mysql-data-2 です。
構成要素 |
説明 |
---|---|
MySQL サーバー |
-> SUNW.LogicalHost リソース SUNW.LogicalHost リソースは、MySQL IP アドレスを管理し、その IP アドレスが実際に使用されるまでは MySQL が起動しないようにします。 |
MySQL サーバー |
-> SUNW.HAStoragePlus リソース SUNW.HAStoragePlus リソースは、MySQL のファイルシステムのマウントポイントを管理し、ファイルシステムがマウントされるまでは MySQL が起動しないようにします。 |
MySQL コンポーネントには 2 つの構成/登録ファイルがあり、ファイルは /opt/SUNWscmys/util に格納されています。これらのファイルを使用すると、MySQL コンポーネントを Sun Cluster に登録でき、さらに、MySQL インスタンスを登録する準備を行うことができます。
これらのファイル内では、適切な依存関係が適用されます。
# cd /opt/SUNWscmys # # ls -l util -rwxr-xr-x 1 root other 1208 Mar 25 13:49 ha_mysql_config -rwxr-xr-x 1 root other 820 Mar 25 13:55 ha_mysql_register -rwxr-xr-x 1 root other 1105 Apr 16 07:48 mysql_config -rwxr-xr-x 1 root other 2993 Apr 11 10:57 mysql_register # # more util/*config :::::::::::::: util/mysql_config :::::::::::::: # # Copyright 2003 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # This file will be sourced in by mysql_register and the parameters # listed below will be used. # # Where is mysql installed (BASEDIR) (日本語訳) # mysql のインストール場所 (BASEDIR) MYSQL_BASE= # Mysql admin-user for localhost (日本語訳) # ローカルホストの mysql 管理ユーザー MYSQL_USER= # Password for mysql admin user (日本語訳) # mysql 管理ユーザー用のパスワード MYSQL_PASSWD= # Configured logicalhost (日本語訳) # 構成済み論理ホスト MYSQL_HOST= # Specify a username for a faultmonitor user (日本語訳) # 障害モニターユーザーのユーザー名を指定する FMUSER= # Pick a password for that faultmonitor user (日本語訳) # 障害モニターユーザー用のパスワードを選ぶ FMPASS= # Socket name for mysqld ( Should be /tmp/<logical host>.sock ) (日本語訳) # mysqld のソケット名 (/tmp/<logical host>.sock ) MYSQL_SOCK=/tmp/<logical host>.sock # FOR SC3.1 ONLY, Specify the physical hostname for the # physical NIC that this logicalhostname belongs to for every node in the # cluster this Resourcegroup can located on. # IE: The logicalhost lh1 belongs to hme1 for physical-node phys-1 and # hme3 for physical-node phys-2. The hostname for hme1 is phys-1-hme1 and # for hme3 on phys-2 it is phys-2-hme3. # IE: MYSQL_NIC_HOSTNAME="phys-1-hme1 phys-2-hme3" (日本語訳) # SC3.1 に限り、物理 NIC には物理ホスト名を指定してください。 # SC3.1 の論理ホスト名は、このリソースグループを置くことができる # クラスタのすべてのノードに属します。 # 例: 論理ホスト lh1 は、物理ノード phys-1 では hme1 に属し、 # 物理のノード phys-2 では hme3 に属します。hme1 のホスト名は phys-1-hme1、 # phys-2 の hme3 のホスト名は phys-2-hme3 です。 # 例: MYSQL_NIC_HOSTNAME="phys-1-hme1 phys-2-hme3" MYSQL_NIC_HOSTNAME="" :::::::::::::: util/ha_mysql_config :::::::::::::: # # Copyright 2003 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # This file will be sourced in by ha_mysql_register and the parameters # listed below will be used. (日本語訳) # このファイルは ha_mysql_register によって有効化され、以下のパラメータ # が使用されます。 # # These parameters can be customized in (key=value) form # # RS - name of the resource for the application # RG - name of the resource group containing RS # BASEDIR - name of the Mysql bin directory # DATADIR - name of the Mysql Data directory # MYSQLUSER - name of the user Mysql should be started of # LH - name of the LogicalHostname SC resource # MYSQLHOST - name of the host in /etc/hosts # FMUSER - name of the Mysql fault monitor user # FMPASS - name of the Mysql fault monitor user password # LOGDIR - name of the directory mysqld should store it's logfile. # CHECK - should HA-MySQL check MyISAM index files before start YES/NO. # HAS_RS - name of the mysql HAStoragePlus SC resource # # The following examples illustrate sample parameters # for Mysql # # BASEDIR=/usr/local/mysql # DATADIR=/global/mysqldata # MYSQLUSER=mysql # LH=mysqllh # MYSQLHOST=mysqlipname # FMUSER=fmuser # FMPASS=fmuser # LOGDIR=/global/mysqldata/logs # CHECK=YES # (日本語訳) # このパラメータは (キー=値) 形式でカスタマイズできます。 # # RS - アプリケーションのリソース名 # RG - RS を含むリソースグループ名 # BASEDIR - Mysql bin ディレクトリ名 # DATADIR - Mysql Data ディレクトリ名 # MYSQLUSER - Mysql の起動ユーザー名 # LH - LogicalHostname SC リソース名 # MYSQLHOST - name of the host in /etc/hosts # FMUSER - Mysql 障害モニターユーザー名 # FMPASS - Mysql 障害モニターユーザー用のパスワード名 # LOGDIR - mysqld がログファイルを格納するディレクトリ名 # CHECK - HA-MySQL が MyISAM のインデックスファイルをチェックしてからスタート # する、YES/NO # HAS_RS - mysql HAStoragePlus SC リソース名 # # 以下に、Mysql のパラメータの例を示します。 # # BASEDIR=/usr/local/mysql # DATADIR=/global/mysqldata # MYSQLUSER=mysql # LH=mysqllh # MYSQLHOST=mysqlipname # FMUSER=fmuser # FMPASS=fmuser # LOGDIR=/global/mysqldata/logs # CHECK=YES RS= RG= BASEDIR= DATADIR= MYSQLUSER= LH= MYSQLHOST= FMUSER= FMPASS= LOGDIR= CHECK= HAS_RS= # |
my.cnf file — Sun Cluster HA for MySQL データサービスには my.cnf のサンプルファイルが 2 つ (マスター構成用とスレーブ構成用) 用意されています。ただし、最低でも次のパラメータを設定する必要があります。
MySQL の中で、my.cnf は重要なファイルです。各パラメータの設定の詳細については、MySQL のマニュアルを参照してください。
マスター構成のセクション [mysqld] 内の MySQL ファイル my.cnf
bind address には、定義済みの論理ホスト IP 名を設定する必要があります。
socket は、/tmp/<論理ホスト IP 名>.sock として定義されます。
log-bin オプションを使用する場合、binlog-ignore-db には sc3_test_database を指定します。
スレーブ構成のセクション [mysqld] 内の MySQL ファイル my.cnf
bind address には、定義済みの論理ホスト IP 名を設定する必要があります。
socket は、/tmp/<論理ホスト IP 名>.sock として定義されます。
log-bin オプションを使用する場合、binlog-ignore-db には sc3_test_database を指定します。
master—host は、マスターインスタンスが存在するホスト名です。
master—user は、スレーブがマスターに対する識別に使用するユーザー名です。
master—password は、スレーブがマスターに対する識別に使用するパスワードです。
master-info-file は、複製プロセス時に、MySQL がマスター上で停止した位置を記憶しているファイルの保管場所です。このファイルは GFS/FFS 上に置く必要があります。
この節では、MySQL のインストールと構成に必要な手順について説明します。
MySQL の特定のディレクトリが参照されます。次に、これらの参照への一般的なパス名を示します。「構成に関する制限事項」を参照してください。
MySQL が http://www.mysql.com から広域ファイルシステムにインストールされ、MySQL インスタンスが広域ファイルシステムにインストールされる場合 (例 1 を参照)
MySQL ベースディレクトリ — /global/mysql
MySQL データベースディレクトリ — /global/mysqldata
MySQL がローカルファイルシステムにインストールされ、MySQL インスタンスがフェイルオーバーファイルシステムにインストールされる場合 (例 2 を参照)
MySQL ベースディレクトリ — /usr/local/mysql
MySQL データベースディレクトリ — /local/mysqldata
Sun Cluster における MySQL の配備方法を決定します。
配備する MySQL インスタンス数を決定します。
各 MySQL インスタンスで使用するクラスタファイルシステムを決定します。
MySQL クラスタファイルシステムをマウントします。
MySQL インスタンスにフェイルオーバーファイルシステムを使用させる場合は、手動でファイルシステムをマウントする必要があります。
Sun Cluster 内の全ノードに MySQL をインストールします。
MySQL は広域ファイルシステムにインストールすることをお勧めします。ローカルファイルシステムにソフトウェアをインストールした場合とクラスタファイルシステムにインストールした場合の長所と短所については、『Sun Cluster データサービスのインストールと構成』の「アプリケーションバイナリの格納先の決定」を参照してください。
http://www.mysql.com から MySQL をダウンロードする — MySQL ソフトウェア用にローカルディスクを使用する予定の場合、この手順を Sun Cluster 内のすべてのノード上で繰り返す必要があります。
MySQL を実行するクラスタ内のすべてのノードで MySQL 用の mysql-user と mysql-group を作成します。
Sun Cluster のすべてのノードで、/etc/group にエントリを作成します。
MySQL バイナリ用の所有者とグループを変更します。
MySQL バイナリがすべてのノードにある場合は、すべてのノードでこの手順を繰り返す必要があります。
# chown -R mysql:mysql /global/mysql |
MySQL インスタンス用の MySQL データベースディレクトリを作成します。
# mkdir <MySQL Database directory> # |
<MySQL Database directory> については、「構成に関する制限事項」を、一般的なパス名については、「MySQL のインストールと構成」を参照してください。
MySQL インスタンスを 1 つ示します。MySQL は、http://www.mysql.com から広域ファイルシステムとしてマウントされた /global/mysql にインストールされています。この MySQL インスタンス用の MySQL データベースディレクトリは /global/mysql-data です。
# cd /global/mysql # # ls -l -rw-r--r-- 1 mysql mysql 19106 Dec 10 14:52 COPYING -rw-r--r-- 1 mysql mysql 28003 Dec 10 14:52 COPYING.LIB -rw-r--r-- 1 mysql mysql 44577 Dec 5 10:37 ChangeLog -rw-r--r-- 1 mysql mysql 6811 Dec 10 14:53 INSTALL-BINARY -rw-r--r-- 1 mysql mysql 1976 Dec 5 10:37 README drwxr-xr-x 2 mysql mysql 1024 Dec 13 18:05 bin -rwxr-xr-x 1 mysql mysql 773 Dec 10 15:34 configure drwxr-x--- 3 mysql mysql 512 Apr 3 12:23 data drwxr-xr-x 2 mysql mysql 1024 Dec 10 15:35 include drwxr-xr-x 2 mysql mysql 512 Dec 10 15:35 lib drwxr-xr-x 2 mysql mysql 512 Dec 10 15:35 man -rw-r--r-- 1 mysql mysql 2582089 Dec 10 14:47 manual.html -rw-r--r-- 1 mysql mysql 2239278 Dec 10 14:47 manual.txt -rw-r--r-- 1 mysql mysql 94600 Dec 10 14:47 manual_toc.html drwxr-xr-x 6 mysql mysql 512 Dec 10 15:35 mysql-test drwxr-xr-x 2 mysql mysql 512 Dec 10 15:35 scripts drwxr-xr-x 3 mysql mysql 512 Dec 10 15:35 share drwxr-xr-x 7 mysql mysql 1024 Dec 10 15:35 sql-bench drwxr-xr-x 2 mysql mysql 512 Dec 10 15:35 support-files drwxr-xr-x 2 mysql mysql 512 Dec 10 15:35 tests # |
必要に応じて MySQL ファイル my.cnf を作成します。— Sun Cluster HA for MySQL データサービスには、MySQL 用にサンプル my.cnf ファイルが 2 つ用意されています。1 つはマスター構成用のサンプル構成ファイル、もう 1 つはスレーブ構成用のサンプルファイルです。
Sun Cluster の初回のインストール時に Sun Cluster HA for MySQL パッケージ (SUNWscmys) をインストールしなかった場合は、「Sun Cluster HA for MySQL パッケージのインストール」 に進んでパッケージを SC3.1 と SC3.0U3 にインストーしてください。そのあと、ここへ戻って MySQL のインストールと構成を続けてください。
/opt/SUNWscmys/etc/my.cnf_sample_[master|slave] はサンプルの MySQL 構成ファイルであり、このファイルを使用すると、独自の MySQL インスタンス用の <MySQL Databasedirectory>/my.cnf を作成できます。ただし、各自の構成値が反映されるように、ファイルを編集する必要があります。
# cp /opt/SUNWscmys/etc/my.cnf_sample_master \ <MySQL Databasedirectory>/my.cnf |
MySQL インスタンスのブートストラップを実行します。— これによって、特権テーブル db、host、user、tables_priv、および columns_priv が func テーブルとともに mysql データベース内に作成されます。
# cd <MySQL Basedirectory> |
# ./scripts/mysql_install_db \ --datadir=<MySQL Database directory> |
<MySQL Database Directory>にログファイルディレクトリを作成します。
# mkdir <MySQL Database Directory>/logs |
<MySQL Database Directory> 用の所有者とグループを変更します。
# chown -R mysql:mysql <MySQL Database Directory> |
<MySQL Database Directory>/my.cnf ファイルのアクセス権を変更します。
# chmod 644 <MySQL Database Directory>/my.cnf |
この節では、インストールと構成の確認に必要な手順を説明します。
データサービスをまだインストールしていないため、この手順ではアプリケーションの可用性が高いかどうかを確認することはできません。
MySQL のインストールと構成を確認する前に、MySQL に対応する論理ホスト名が使用可能かどうかを確認します。論理ホスト名を利用するには、「フェイルオーバーサービスとしての Sun Cluster HA for MySQL の登録と構成方法」の手順 2 から手順 7 までを完了する必要があります。
このインスタンス用に MySQL サーバーを起動します。
#cd <MySQL Basedirectory> |
# ./bin/mysqld --defaults-file=<MySQL Databasedirectry>/my.cnf \ --basedir=<MySQL Basedirectory>\ --datadir=<MySQL Databasedirectory>\ --user=mysql --pid-file=<MySQL Databasedirectory>/mysqld.pid & |
MySQL インスタンスに接続します。
# <MySQL Basedirectory>/bin/mysql -h <Logical host> -uroot |
MySQL サーバーインスタンスを停止します。
# kill -TERM `cat <MySQL Databasedirectory>/mysqld.pid |
Sun Cluster の初回のインストールで Sun Cluster HA for MySQL パッケージをインストールしなかった場合は、ここで説明する作業を行なってパッケージをインストールしてください。この手順は、Sun Cluster HA for MySQL パッケージをインストールする各クラスタノード上で個別に実行します。この手順を実行するには、Sun Cluster Agents CD-ROM が必要です。
複数のデータサービスを同時にインストールする場合は、『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』の「ソフトウェアのインストール」に記載されている手順を実行してください。
次のインストールツールのどれか 1 つを使用して、Sun Cluster HA for MySQL パッケージをインストールしてください。
Web Start プログラム
scinstall ユーティリティー
Web Start プログラムは、Sun Cluster 3.1 Data Services 10/03 より前のリリースでは利用できません。
Solaris 10 を使用している場合は、これらのパッケージを大域ゾーンにだけインストールしてください。パッケージをインストールしたあとで作成されたローカルゾーンにそれらのパッケージが転送されないようにするには、scinstall ユーティリティーを使用してパッケージをインストールしてください。Web Start プログラムは使用しないでください。
Web Start プログラムは、コマンド行インタフェース (CLI) またはグラフィカルユーザーインタフェース (GUI) を使用して実行できます。CLI と GUI での作業の内容と手順はほとんど同じです。Web Start プログラムの詳細は、installer(1M) のマニュアルページを参照してください。
Sun Cluster HA for MySQL パッケージをインストールするクラスタノード上で、スーパーユーザーになります。
(省略可能) GUI で Web Start プログラムを実行する場合は、DISPLAY 環境変数が設定されていることを確認してください。
CD-ROM ドライブに Sun Cluster Agents CD-ROM を挿入します。
ボリューム管理デーモン vold(1M) が実行されており、CD-ROM デバイスを管理するように構成されている場合は、デーモンによって CD-ROM が自動的に /cdrom/cdrom0 ディレクトリにマウントされます。
CD-ROM の Sun Cluster HA for MySQL コンポーネントディレクトリに移動します。
Sun Cluster HA for MySQL データサービスの Web Start プログラムは、このディレクトリに入っています。
# cd /cdrom/cdrom0/components/SunCluster_HA_MySQL_3.1 |
Web Start プログラムを起動します。
# ./installer |
表示される手順に従って、ノードに Sun Cluster HA for MySQL パッケージをインストールします。
インストールが終了すると、Web Start プログラムのインストールサマリーが出力されます。このサマリーを使用して、インストール時に Web Start によって作成されたログを確認できます。これらのログは、/var/sadm/install/logs ディレクトリにあります。
Web Start プログラムを終了します。
Sun Cluster Agents CD-ROM を CD-ROM ドライブから取り出します。
この作業には、Sun Cluster Agents CD-ROM が必要です。この手順では、Sun Cluster の初期インストール時にデータサービス パッケージをインストールしていない場合を想定しています。
Sun Cluster の初回のインストールで Sun Cluster HA for MySQL パッケージをインストールした場合は、「Sun Cluster HA for MySQL の登録と構成」に進んでください。
この作業は、Sun Cluster HA for MySQL データサービスを実行できるすべてのノードで行います。
CD-ROM ドライブに Sun Cluster Agents CD-ROM を挿入します。
オプションを指定せずに scinstall ユーティリティーを実行します。
scinstall ユーティリティーが対話型モードで起動します。
メニューオプション「新しいデータサービスのサポートをこのクラスタノードに追加」を選択します。
scinstall ユーティリティーにより、ほかの情報を入力するためのプロンプトが表示されます。
Sun Cluster Agents CD-ROM のパスを指定します。
ユーティリティーはこの CD をデータサービス CD-ROM として示します。
インストールするデータサービスを指定します。
選択したデータサービスが scinstall ユーティリティーによって示され、この選択内容の確認が求められます。
scinstall ユーティリティーを終了します。
ドライブから CD を取り出します。
ここでは Sun Cluster HA for MySQL の構成手順について説明します。
この手順は、Sun Cluster の初回のインストール時にこのデータサービスパッケージをインストールしている場合を想定しています。
Sun Cluster の初回のインストールで Sun Cluster HA for MySQL パッケージをインストールしなかった場合は、「 scsintall ユーティリティーを使用して Sun Cluster HA for MySQL パッケージをインストールする」に進んでください。
MySQL のホストとなるクラスタノードの 1 つで、スーパーユーザーになります。
# scrgadm -a -t SUNW.gds |
SUNW.HAStoragePlus リソースタイプを登録します。
# scrgadm -a -t SUNW.HAStoragePlus |
フェイルオーバーリソースグループを作成します。
# scrgadm -a -g MySQL-failover-resource-group |
MySQL ディスク記憶装置に対応するリソースを作成します。
# scrgadm -a -j MySQL-has-resource \ -g MySQL-failover-resource-group \ -t SUNW.HAStoragePlus \ -x FilesystemMountPoints=MySQL- instance-mount-points |
MySQL 論理ホスト名に対応するリソースを作成します。
# scrgadm -a -L -j MySQL-lh-resource \ -g MySQL-failover-resource-group \ -l MySQL-logical-hostname |
MySQL ディスク記憶装置と論理ホスト名のリソースが組み込まれたフェイルオーバーリソースグループを有効にします。
# scswitch -Z -g MySQL-failover-resource-group |
mysql_install_db を実行したノード上でリソースグループを有効にする必要があります。
MySQL サーバーインスタンスを手動で起動します。
#cd <MySQL Basedirectory> |
# ./bin/mysqld --defaults-file=<MySQL Databasedirectry>/my.cnf \ --basedir=<MySQL. Basedirectory>\ --datadir=<MySQL Databasedirectory>\ --user=mysql\ --pid-file=<MySQL Databasedirectory>/mysqld.pid & |
admin ユーザー用の admin パスワードを設定します。
# <MySQL Databasedirectry>/bin/mysqladmin -S /tmp/<Logical host>.sock password 'admin password' |
MySQL インスタンスに対応する障害モニターユーザーとテスト用データベースを作成します。
# cd /opt/SUNWscmys/util |
mysql_config ファイルを編集し、ファイル内のコメントに従います。
# mysql のインストール場所 (BASEDIR) MYSQL_BASE= # ローカルホストの Mysql 管理ユーザー (root) MYSQL_USER= # mysql 管理ユーザーのパスワード MYSQL_PASSWD= # 構成済み論理ホスト MYSQL_HOST= # 障害モニターユーザーのユーザー名を指定する FMUSER= # 障害モニターユーザー用のパスワードを選ぶ FMPASS= # mysqld のソケット名 (/tmp/<Logical host>.sock) MYSQL_SOCK= # SC3.1 に限り、物理 NIC には物理ホスト名を指定してください。 # SC3.1 の論理ホスト名は、このリソースグループを置くことができる # クラスタのすべてのノードに属します。 # 例: 論理ホスト lh1 は、物理ノード phys-1 では hme1 に属し、 # 物理ノード phys-2 では hme3 に属します。hme1 のホスト名は phys-1-hme1、 # phys-2 の hme3 のホスト名は phys-2-hme3 です。 # 例: MYSQL_NIC_HOSTNAME="phys-1-hme1 phys-2-hme3" MYSQL_NIC_HOSTNAME="" |
SC 3.1 上の MySQL インスタンスの例を示します。
MYSQL_BASE=/global/mysql MYSQL_USER=root MYSQL_PASSWD=root MYSQL_HOST=hahostix1 FMUSER=fmuser FMPASS=fmuser MYSQL_SOCK=/tmp/hahostix1.sock MYSQL_NIC_HOSTNAME="clusterix1 clusterix2" |
SC3.0U3 を使用している場合は、MYSQL_NIC_HOSTNAME パラメータを省略してください。
mysql_config を編集したあとは、mysql_register スクリプトを実行する必要があります。
# ./mysql_register |
MySQL サーバーインスタンスを手動で停止します。
# kill -TERM `cat <MySQL Databasedirectry>/mysqld.pid |
フェイルオーバーデータサービスとして MySQL を作成し、登録します。
# cd /opt/SUNWscmys/util |
ha_mysql_config ファイルを編集し、ファイル内のコメントに従います。コメントの例を示します。
次のパラメータは (キー=値) の形式でカスタマイズできます。 # # RS - アプリケーションのリソース名 # RG - RS を含むリソースグループ名 # BASEDIR - Mysql bin ディレクトリ名 # DATADIR - Mysql Data ディレクトリ名 # MYSQLUSER - Mysql の起動ユーザー名 # LH - LogicalHostname SC リソース名 # MYSQLHOST - name of the host in /etc/hosts # FMUSER - Mysql 障害モニターユーザー名 # FMPASS - Mysql 障害モニターユーザー用のパスワード名 # LOGDIR - mysqld がログファイルを格納するディレクトリ名 # CHECK - HA-MySQL が MyISAM のインデックスファイルをチェックしてからスタートする、YES/NO # HAS_RS - MySQL HAStoragePlus SC リソース名 # |
MySQL インスタンスの例は次のようになります。
RS=mysql-res RG=mysql-rg BASEDIR=/global/mysql DATADIR=/global/mysql-data MYSQLUSER=mysql LH=hahostix1 MYSQLHOST=hahostix1 FMUSER=fmuser FMPASS=fmuser LOGDIR=/global/mysql-data/logs CHECK=YES HAS_RS=mysql-has-res |
各 MySQL リソースを有効にします。
複数のインスタンスを作成した場合は、MySQL インスタンスごとにこの手順を繰り返します。
# scstat -g # scswitch -e -j MySQL-resource |
MySQL Logicalhost ip name を使用して、MySQL インスタンスにローカルにアクセスするための管理ユーザーを追加します。
MySQL インスタンスへのアクセスをソケット (ローカルホスト) からだけにする場合は、この手順を省略します。
MySQL のブートストラップを実行するとき、コマンド mysql_install_db は 2 人の管理ユーザー、つまりローカルホストに属する管理ユーザーと mysql_install_db を実行したノードに属する管理ユーザーを作成します。
SC3.0U3 を使用している場合は、物理ノードに属する root ユーザーを削除し、論理ホストに属する管理ユーザーを追加するべきです。
次に、SC3.0U3 での MySQL インスタンスの例を示します。
# mysql -S /tmp/hahostix1.sock -uroot mysql> use mysql; mysql> DELETE FROM user where User='root' AND Host='clusterix1'; mysql> GRANT ALL ON *.* TO 'root'@'hahostix1' IDENTIFIED BY 'rootpasswd'; mysql> exit; |
SC3.1 を使用する場合は、クラスタ内のこの MySQL インスタンスが動作するすべての物理ノードに、admin ユーザーを追加します。
ノード名と物理インタフェースのホスト名が異なる場合は、物理インタフェースのホスト名を使用します。
次に、SC3.1 での MySQL インスタンスの例を示します。
# mysql -S /tmp/hahostix1.sock -uroot mysql> use mysql; mysql> mysql> GRANT ALL ON *.* TO 'root'@'clusterix2' IDENTIFIED BY 'rootpasswd'; mysql> mysql> GRANT ALL ON *.* TO 'root'@'clusterix1' IDENTIFIED BY 'rootpasswd'; mysql> exit; |
admin ユーザーに Grant_priv を手動で追加する必要があります。MySQL の管理マニュアルを参照してください。
ここでは、データサービスが正しくインストールされ構成されているかどうかを確認する手順について説明します。
MySQL のホストとなるクラスタノードの 1 つで、スーパーユーザーになります。
scstat を使用して、すべての MySQL リソースがオンライン状態であることを確認します。
# scstat |
オンラインになっていない MySQL リソースごとに、次のように scswitch コマンドを使用します。
# scswitch -e -j MySQL- resource |
scswitch コマンドを実行し、MySQL リソースグループをほかのクラスタノード (node2 など) に切り替えます。
# scswitch -z -g MySQL-failover-resource-group -h node2 |
ここでは、Sun Cluster HA for MySQL 障害モニターのプローブアルゴリズムまたは機能について説明し、プローブの失敗に関連する条件、メッセージ、回復処理を示します。
障害モニターの概念については、『Sun Cluster 3.1 の概念』を参照してください。
Sun Cluster HA for MySQL 障害モニターでは、リソースタイプ SUNW.gds と同じリソースプロパティーを使用します。使用するリソースプロパティーの全リストについては、SUNW.gds(5) のマニュアルページを参照してください。
MySQL の検証手順
Thorough_probe_interval の間、休止します。
コマンド mysqladmin、引数 ping、および定義済みの障害モニターユーザー障害 <fmuser> を使用して、MySQL インスタンスに接続します。失敗した場合、MySQL リソースが再起動されます。
さらに 300 秒間隔で、次の条件も検証します。
MySQL インスタンスがスレーブ構成の場合、プローブは MySQL インスタンスが対応するマスターに接続されているかどうかを調べます。スレーブが接続されていない場合、システムログにエラーメッセージが書き込まれます。
内容ではなく、すべてのデータベースとテーブルが一覧表示できるか確認されます。何らかのエラーが発生した場合は、エラーメッセージが syslog に書き込まれます。
定義されたテストデータベース上で機能テストが実行されます (たとえば、テーブルの作成、テーブルへの挿入、テーブルの更新、テーブルからの削除、テーブルのドロップ) 。動作が 1 つでも失敗すると、MySQL リソースが再起動されます。
すべての MySQL プロセスが停止した場合は、pmf がプローブに割り込み、ただちに MySQL リソースが再起動されます。
MySQL リソースが繰り返し再起動した結果、Retry_interval 内の Retry_count に達した場合に、Failover_enabled に TRUE が設定されているときは、リソースグループはほかのノードにフェイルオーバーされます。
ここでは、Sun Cluster HA for MySQL のデバッグを有効にする方法について説明します。
Sun Cluster HA for MySQL は複数の MySQL インスタンスで使用できます。デバッグはすべての MySQL インスタンスに対して有効にすることも、特定の MySQL インスタンスに対して有効にすることもできます。
MySQL コンポーネントごとに DEBUG ファイルがあり、/opt/SUNWscmys/etc に格納されます。
このファイルによって、Sun Cluster の特定のノードですべての MySQL インスタンスに対してデバッグを有効にすることも、あるいは特定の MySQL インスタンスに対してデバッグを有効にすることもできます。Sun Cluster 全体にわたって、Sun Cluster HA for MySQL のデバッグを有効にしなければならない場合は、Sun Cluster 内のすべてのノードでこの手順を繰り返す必要があります。
/etc/syslog.conf を編集します。
/etc/syslog.conf を編集し、daemon.notice を daemon.debug に変更します。
# grep daemon /etc/syslog.conf *.err;kern.debug;daemon.notice;mail.crit /var/adm/messages *.alert;kern.err;daemon.err operator # |
daemon.notice を daemon.debugに変更し、syslogd を再起動します。次に示す grep daemon /etc/syslog.conf コマンドの出力例では、daemon.debug が設定されています。
# grep daemon /etc/syslog.conf *.err;kern.debug;daemon.debug;mail.crit /var/adm/messages *.alert;kern.err;daemon.err operator # # pkill -1 syslogd # |
/opt/SUNWscmys/etc/config を編集し、DEBUG= を DEBUG=ALL または DEBUG= resource に変更します。
# cat /opt/SUNWscmys/etc/config # # Copyright 2003 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # Usage: # DEBUG=<RESOURCE_NAME> or ALL # DEBUG=ALL # |
デバッグを無効にするには、これらの手順を逆にします。
ここでは、Sun Cluster HA for MySQL を使用するときに SC3.1 にアップグレードする方法について説明します。
ここでは、SC3.1 にアップグレードする手順については説明しません。Sun Cluster HA for MySQL を SC3.1 にアップグレードする手順に限定して説明します。
次に、Sun Cluster HA for MySQL を SC3.1 にアップグレードする手順を示します。
—n —j MySQL- resource を使用して、Sun Cluster HA for MySQL リソースをシャットダウンします。
# scswitch -n -j MySQL- resource |
Sun Cluster のマニュアルに従って、ノードを SC3.1 にアップグレードします。
SC3.1 上で MySQL サーバーを手動で起動します。
#cd <MySQL Basedirectory> |
# ./bin/mysqld --defaults-file=<MySQL Databasedirectry>/my.cnf \ --basedir=<MySQL Basedirectory>\ --datadir=<MySQL Databasedirectory>\ --user=mysql\ --pid-file=<MySQL Databasedirectory>/mysqld.pid & |
ソケットオプションを指定して、ローカルノードから MySQL インスタンスにアクセスします。
#<MySQL Basedirectory> /bin/mysql -S <MySQL Socket> -uroot \ -p<Adminpassword>\ |
MySQL インスタンスの例は次のようになります。
# mysql -s /tmp/hahostix1.sock -uroot -proot mysql> |
Sun Cluster HA for MySQL のテストデータベース sc3_test_database を削除します。
# mysql -s /tmp/hahostix1.sock -uroot -proot mysql> DROP DATABASE sc3_test_database; Query OK, 0 rows affected (0.03 sec) |
データベース mysql 内のテーブル db から、User='<MySQL Faultmonitor user>' という文字列を含むエントリをすべて削除します。
# mysql -s /tmp/hahostix1.sock -uroot -proot mysql> use mysql; Database changed mysql> DELETE FROM db WHERE User='fmuser'; Query OK, 1 row affected (0.03 sec) |
データベース mysql 内のテーブル user から、User='<MySQL Faultmonitor user>' という文字列を含むエントリをすべて削除します。
# mysql -s /tmp/hahostix1.sock -uroot -proot mysql> use mysql; Database changed mysql> DELETE FROM user WHERE User='fmuser'; Query OK, 1 row affected (0.03 sec) |
MySQL に障害モニターユーザーとテスト用データベースを追加します。
# cd /opt/SUNWscmys/util |
mysql_config ファイルを編集し、ファイル内のコメントに従います。
# mysql のインストール場所 (BASEDIR) MYSQL_BASE= # ローカルホストの mysql 管理ユーザー (root) MYSQL_USER= # mysql 管理ユーザー用のパスワード MYSQL_PASSWD= # 構成済み論理ホスト MYSQL_HOST= # 障害モニターユーザーのユーザー名を指定する FMUSER= # 障害モニターユーザー用のパスワードを選ぶ FMPASS= # mysqld のソケット名 (/tmp/<Logical host>.sock) MYSQL_SOCK= # SC3.1 に限り、物理 NIC には物理ホスト名を指定してください。 # SC3.1 の論理ホスト名は、このリソースグループを置くことができる # クラスタのすべてのノードに属します。 # 例: 論理ホスト lh1 は、物理ノード phys-1 では hme1 に属し、 # 物理ノード phys-2 では hme3 に属します。hme1 のホスト名は phys-1-hme1、 # phys-2 の hme3 のホスト名は phys-2-hme3 です。 # 例: MYSQL_NIC_HOSTNAME="phys-1-hme1 phys-2-hme3" MYSQL_NIC_HOSTNAME="" |
SC 3.1 上の MySQL インスタンスの例を示します。
MYSQL_BASE=/global/mysql MYSQL_USER=root MYSQL_PASSWD=root MYSQL_HOST=hahostix1 FMUSER=fmuser FMPASS=fmuser MYSQL_SOCK=/tmp/hahostix1.sock MYSQL_NIC_HOSTNAME="clusterix1 clusterix2" |
mysql_config の編集後、mysql_register スクリプトを実行します。
# ./mysql_register |
MySQL サーバーを手動で停止します。
# kill -TERM `cat <MySQL Databasedirectry>/mysqld.pid |
scswitch —e —j MySQL- resource を使用して、Sun Cluster HA for MySQL リソースを起動します。
# scswitch -e -j MySQL- resource |
MySQL Logicalhost を使用して、MySQL インスタンスにローカルにアクセスする管理ユーザーのソースアドレスを変更します。
MySQL インスタンスへのアクセスをソケット (ローカルホスト) からだけにする場合は、この手順を省略します。
SC3.0U3 を使用していた場合は、論理ホストに属す root ユーザーを削除して、物理ホストに属す admin ユーザーを追加します。
ノード名と物理インタフェースのホスト名が異なる場合は、物理インタフェースのホスト名を使用します。
次に、SC3.1 での MySQL インスタンスの例を示します。
# mysql -S /tmp/hahostix1.sock -uroot mysql> use mysql; mysql> DELETE FROM user where User='root' AND Host='hahostix1'; mysql> GRANT ALL ON *.* TO 'root'@'clusterix1' IDENTIFIED BY 'rootpasswd'; mysql> GRANT ALL ON *.* TO 'root'@'clusterix2' IDENTIFIED BY 'rootpasswd'; mysql> exit; |
admin ユーザーに Grant_priv を手動で追加する必要があります。MySQL の管理マニュアルを参照してください。
ここでは、Sun Cluster HA for MySQL を使用するときに 4.0.12 にアップグレードする方法について説明します。
ここでは、MySQL を MySQL 4.x.x にアップグレードする方法ではなく、Sun Cluster HA for MySQL を MySQL 4.x.x にアップグレードする方法だけを説明していることに注意してください。この手順では、新しい MySQL バイナリが前回と同じ場所にインストールされていると見なしています。新しいバイナリが新しいディレクトリにインストールされている場合は、新しい MySQL Basedir を使用して MySQL リソースを登録し直す必要があります。
MySQL 3.23.54 から 4.x.x にアップグレードする手順
scswitch —n —j MySQL- resource を使用して、Sun Cluster HA for MySQL をシャットダウンします。
# scswitch -n -j MySQL- resource |
「MySQL のインストールと構成方法」の手順 3 と 4 に従って、新しいMySQL バイナリをインストールします。
scswitch —e —j MySQL- resource を使用して Sun Cluster HA for MySQL を起動します。
# scswitch -e -j MySQL- resource |
scswitch —n –M —j MySQL- resource を使用して、Sun Cluster HA for MySQL の障害モニターをシャットダウンします。
# scswitch -n -M -j MySQL- resource |
MySQL のマニュアルに従って、MySQL データベースをアップグレードします。
scswitch —e –M —j MySQL- resource を使用して、Sun Cluster HA for MySQL 障害モニターを起動します。
# scswitch -e -M -j MySQL- resource |