Sun Cluster 3.1 Data Service for MySQL ガイド

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

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


注 –

ここでは、ノードを SC3.1 にアップグレードする方法ではなく、Sun Cluster HA for MySQL を SC3.1 にアップグレードする方法だけを説明していることに注意してください。


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


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

  3. SC 3.1 上で MySQL サーバーを手動で起動します。


    #cd <MySQL Base
    >
    

    # ./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-database 内のテーブル 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-database 内のテーブル 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- resouce を使用して、Sun Cluster HA for MySQL リソースを起動します。


    # scswitch -e -j MySQL- resouce
    
  12. MySQL Logicalhost を使用して、MySQL インスタンスにローカルにアクセスする管理ユーザーのソースアドレスを変更します。


    注 –

    MySQL インスタンスにアクセスする方法がローカルホストからのソケット経由だけである場合、この手順は省略してもかまいません。


    SC3.0U3 を使用していた場合、論理ホストに属する root ユーザーを削除して、物理ホストに属する管理ユーザーを追加する必要があります。


    注 –

    物理インタフェースのノード名とホスト名が異なる場合は、ホスト名を使用する必要があります。


    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;

    注 –

    管理ユーザーには手動で Grant_priv を追加する必要があります (MySQL 管理マニュアルを参照してください)。