次に、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 の管理マニュアルを参照してください。