Sun Cluster Data Service for MySQL ガイド (Solaris OS 版)

Sun Cluster HA for MySQL を使用するときに SC3.1 にアップグレードする

ここでは、Sun Cluster HA for MySQL を使用するときに SC3.1 にアップグレードする方法について説明します。


注 –

ここでは、SC3.1 にアップグレードする手順については説明しません。Sun Cluster HA for MySQL を SC3.1 にアップグレードする手順に限定して説明します。


ProcedureSun Cluster HA for MySQL 使用時に Sun Cluster 3.1 にアップグレードする

次に、Sun Cluster HA for MySQL を SC3.1 にアップグレードする手順を示します。

手順
  1. —n —j MySQL- resource を使用して、Sun Cluster HA for MySQL リソースをシャットダウンします。


    # scswitch -n -j MySQL- resource
    
  2. Sun Cluster のマニュアルに従って、ノードを SC3.1 にアップグレードします。

  3. 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 &
    
  4. ソケットオプションを指定して、ローカルノードから MySQL インスタンスにアクセスします。


    #<MySQL Basedirectory>
    /bin/mysql -S <MySQL Socket> -uroot \
     -p<Adminpassword>\
    

    MySQL インスタンスの例は次のようになります。


    # mysql -s /tmp/hahostix1.sock -uroot -proot
    mysql> 
  5. 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)
  6. データベース 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)
  7. データベース 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)
  8. 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"
    
  9. mysql_config の編集後、mysql_register スクリプトを実行します。


    # ./mysql_register
    
  10. MySQL サーバーを手動で停止します。


    # kill -TERM `cat <MySQL Databasedirectry>/mysqld.pid
    
  11. scswitch —e —j MySQL- resource を使用して、Sun Cluster HA for MySQL リソースを起動します。


    # scswitch -e -j MySQL- resource
    
  12. 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 の管理マニュアルを参照してください。