以下の図は、複数の施設で動作する Web アプリケーションでの MYSQLR64 アプライアンスの標準的な使い方を示しています。 このセットアップで、2 つ以上の同一のアプリケーションをマスタ/マスタ設定のすべてのアプリケーションにデータベースをレプリケートして、さまざまな組織で実行することができます。 これは次の 2 つの場合に役立ちます。
マスタ アプリケーション
スレーブ アプリケーション
使用するアプライアンス:
クライアント リクエストは user ゲートウェイに到達します。 このゲートウェイは web_lb ロード バランサにリクエストを転送し、ロード バランサは web1 と web2 のいずれかの Web サーバにリクエストを伝えます。 Web サーバは master データベースにアクセスします。 マスタ アプライアンスは、データベースをレプリケートするためにリモート(スレーブ)アプリケーションに接続します(唯一の違いはスレーブの server_id とネットワーク設定です)。 リモート アプリケーションは、リモート アプリケーションの vpn ゲートウェイからのみ接続をできるように設定されている vpn ゲートウェイを介してマスタ アプライアンスに接続します。 2 つのアプリケーション内のマスタ アプライアンスとスレーブ アプライアンスはマスタ/マスタ設定で実行されているため、常に同一のデータを使用します。
プロパティ設定の例(リストに表示されていないプロパティはデフォルト値のままにしてください):
マスタとスレーブへの Web アクセスはポート 8080 上の admin ゲートウェイ経由で利用可能です。
master
プロパティ名 |
値 |
注 |
auto_create |
1 |
ボリュームが空の場合は、データベースを作成します。 |
error_log_filename |
master-db.error |
logs データ ボリューム上に格納されるエラー ログ ファイルの名前。 |
error_log_level |
error |
エラー ログ レベル |
server_id |
1 |
マスタ サーバ(1 である必要はないが、スレーブ上の server_id とは異なること) |
rpl_mode |
master |
レプリケーションを作成するめにバイナリ ログを書き込みます。 |
master vpn
プロパティ名 |
値 |
注 |
mode |
server |
サーバとして動作します。 |
tunnel |
certificates |
SSL 証明書の使用。 |
tcp_ports |
3306,22 |
MYSQLR64 によって必要とされるポートを許可します。 |
ip_addr |
master_vpn_ip |
マスタ アプリケーション内の VPN の IP アドレス。 |
remote_host |
slave_vpn_ip |
スレーブ アプリケーション内の VPN の IP アドレス。 |
slave
プロパティ名 |
値 |
注 |
auto_create |
1 |
ボリュームが空の場合は、データベースを作成します。 |
error_log_filename |
slave-db.error |
logs データ ボリューム上に格納されるエラー ログ ファイルの名前。 |
error_log_level |
error |
エラー ログ レベル |
server_id |
2 |
スレーブ サーバ(2 である必要はないが、マスタ上の server_id とは異なること) |
rpl_mode |
slave |
マスタに接続します |
slave vpn
プロパティ名 |
値 |
注 |
mode |
client |
クライアントとして動作します。 |
tunnel |
certificates |
SSL 証明書の使用。 |
auth_path |
"client1" |
SSL 証明書ファイルへのパス。 |
ip_addr |
slave_vpn_ip |
スレーブ アプリケーション内の VPN の IP アドレス。 |
remote_host |
master_vpn_ip |
マスタ アプリケーション内の VPN の IP アドレス。 |
リモート アプリケーションは正確なコピーです。唯一の違いは、user、admin および vpn アプライアンスのネットワーク設定、vpn アプライアンスと master=/=slave の間の接続および master=/=slave アプライアンスの server_id(一意であること)です。
MYSQLR から MYSQLR64 (またはその逆)にマイグレートする必要がある場合は、データ破損の原因になる可能性があるので、64 ビット アプライアンス上で 32 ビット アプライアンス(またはその逆)からのボリュームを単に使用しないでください。 この場合に推奨される方法は、古いアプライアンス上のデータベースをダンプし、ダンプされたファイルを新しいアプライアンスに転送した後で、新しいアプライアンスにデータベースをインポートすることです。
さらに古いデータベース アプライアンス(MYSQL、MYSQL5、MYSQL64)または CA AppLogic アプライアンス上で実行されない mysql データベースをマイグレートする場合、同じ手順が使用できます。
データベースをマイグレートする方法
以下の点に留意してください。
重要: データベースのユーザを作成するときは、接続元のホスト上の制限なしですべてのユーザが作成されていることを確認してください。 例:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%' -> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
MYSQLR64 は、ベース クラス LUX64 で使用されるサードパーティのオープン ソース パッケージに加えて、以下のサードパーティのオープン ソース パッケージを使用します。
ソフトウェア |
バージョン |
変更 |
ライセンス |
ノート |
aspell |
0.60.3-7.1 |
いいえ |
LGPLv2.1 |
該当なし |
aspell-en |
6.0-2.1 |
いいえ |
LGPLv2.1 |
該当なし |
curl |
7.15.5-2 |
いいえ |
MIT |
該当なし |
device-mapper-event |
1.02.32-1 |
いいえ |
GPLv2 |
該当なし |
freetype |
1.02.32-1 |
いいえ |
FTL |
該当なし |
gmp |
4.1.4-10.el5 |
いいえ |
LGPLV2.1 |
該当なし |
libidn |
0.6.5-1.1 |
いいえ |
LGPLv2.1 |
該当なし |
libjpeg |
6b-37 |
いいえ |
配布可能 |
該当なし |
libpng |
1.2.10-7.0.2 |
いいえ |
zlib/libpng |
該当なし |
lvm2 |
2.6.26-2.1.2.8 |
いいえ |
GPLv2.0 |
該当なし |
mysql |
5.0.77-3.el5 |
いいえ |
GPL |
該当なし |
mysql-server |
5.0.77-3.el5 |
いいえ |
GPLv2 |
該当なし |
perl-DBD-MySQL |
3.0007-2.el5 |
いいえ |
Artistic |
該当なし |
perl-DBI |
1.52-2.el5 |
いいえ |
Artistic |
該当なし |
php-cli |
5.1.6-23.el5 |
いいえ |
PHPv3.01 |
該当なし |
php-common |
5.1.6-23.el5 |
いいえ |
PHPv3.01 |
該当なし |
php-gd |
5.1.6-23.el5 |
いいえ |
PHPv3.01 |
該当なし |
php-mbstring |
5.1.6-23.el5 |
いいえ |
PHPv3.01 |
該当なし |
php-mysql |
5.1.6-23.el5 |
いいえ |
PHPv3.01 |
該当なし |
php-pdo |
5.1.6-23.el5 |
いいえ |
PHPv3.01 |
該当なし |
rsync |
2.6.8-3.1 |
いいえ |
GPLv2 |
該当なし |
samba-client |
3.0.28-1.el5_2.1 |
いいえ |
GPLv2 |
該当なし |
samba-common |
3.0.28-1.el5_2.1 |
いいえ |
GPLv2 |
該当なし |
sudo |
1.6.8p12-10 |
いいえ |
ISC |
該当なし |
lighttpd |
1.4.18-1.el5.rf |
いいえ |
BSD |
該当なし |
Perl-IPC-Run |
0.84-1.el5.rf |
いいえ |
Artistic |
該当なし |
Perl-Time-Duration |
1.06-1.el5.rf |
いいえ |
Artistic |
該当なし |
phpMyAdmin |
2.11.10-1 |
いいえ |
GPLv2 |
該当なし |
MYSQLR アプライアンスが再起時にフリーズする
MYSQLR 1.6.2 から、ルート データベース アカウントのパスワードを設定および変更できます。 ただし、MSYQLR アプライアンスには異なるホスト名を備えたいくつかのルート アカウントがあります。 パスワードを設定または変更する場合は、常に root@% アカウントを使用する必要があります。 root@% アカウントは MYSQLR の in 端子に接続されるアプライアンスが認証するアカウントです。 他のルート アカウントはローカル ユーザからのみ使用されるため、ルート アカウントにはパスワードを決して設定しないでください。そうすると MYSQLR アプライアンスの起動が失敗します。
注: root@localhost アカウントにパスワードを与えなくても、セキュリティの問題とはなりません。このアカウントはアプライアンス上のローカル ユーザによってのみ使用可能であり、アプライアンスにアクセスできるユーザは誰でもパスワード変更ができるからです。
ルート データベース パスワードを変更した後に開始しない MYSQLR アプライアンスの回復
データベースのルート パスワード変更のために開始しないアプライアンスを回復するには、以下の手順を実行します。
comp start main.MYSQLR --debug
app start --debug
アプライアンスを開始した数秒後、アプライアンスにログインすることができます。 アプライアンスのタイムアウトを待つ必要はありません。
mysql -p -e "update mysql.user set Password='' where User='root'" mysqladmin -p flush-privileges mysql -e 'update mysql.user set password=PASSWORD("NEWPASSWORD") where User="root" and Host="%"' mysqladmin flush-privileges
Copyright © 2012 CA. All rights reserved. |
|