Das folgende Diagramm zeigt eine typische Verwendung der MYSQLR64-Appliance in einer Webanwendung, die in mehr als einer Einrichtung ausgeführt wird. Bei diesem Setup können Sie zwei oder mehr identische Anwendungen in unterschiedlichen Einrichtungen ausführen, wobei die Datenbank auf alle Anwendungen im Master-Master-Setup repliziert wird. Dies ist in zwei Fällen nützlich:
Master-Anwendung

Slave-Anwendung

Verwendete Appliances:
Clientanfrage kommt auf der Benutzer-Gateway an. Die Gateway leitet die Anfrage an das Lastenausgleichsmodul "web_lb" weiter, das die Anfrage an einen der Webserver "web1" und "web2" leitet. Die Webserver greifen auf die Masterdatenbank zu. Die master-Appliance ist mit der Remote-(Slave-)Anwendung verbunden (die eine identische Kopie ist, der einzige Unterschied besteht in der server_id "slave" und der Netzwerkeinrichtung), um die Datenbank zu replizieren. Die Remote-Anwendung ist mit der Master-Appliance über das vpn-Gateway verbunden, das so konfiguriert ist, dass nur der Anschluss vom vpn-Gateway der Remote-Anwendung möglich ist. Die Master- und Slave-Appliances in den beiden Anwendungen werden in einer Master-Master-Einrichtung ausgeführt, sodass sie immer über identische Daten verfügen.
Beispiel-Eigenschaftskonfiguration (Eigenschaften, die nicht aufgelistet werden, sollten mit den Standardwerten belassen werden):
Der Webzugriff erfolgt über admin-Gateway auf Port 8080.
master
|
Eigenschaftsname |
Value |
Hinweise |
|
auto_create |
1 |
Datenbank erstellen, wenn die Volumes leer sind. |
|
error_log_filename |
master-db.error |
Name der Fehlerprotokolldatei, die auf dem Protokolldaten-Volume gespeichert werden soll. |
|
error_log_level |
Fehler |
Fehlerprotokollierungs-Ebene |
|
server_id |
1 |
Masterserver (muss nicht 1 sein, sollte einen anderen Wert als die server_id auf dem Slave haben) |
|
rpl_mode |
master |
Binäre Protokolle schreiben, um die Replikation zu ermöglichen |
master vpn
|
Eigenschaftsname |
Value |
Hinweise |
|
mode |
server |
Als Server funktionieren. |
|
tunnel |
certificates |
Verwendung von SSL-Zertifikaten. |
|
tcp_ports |
3306,22 |
Von MYSQLR64 benötigte Ports zulassen. |
|
ip_addr |
master_vpn_ip |
IP-Adresse des VPN in der Master-Anwendung. |
|
remote_host |
slave_vpn_ip |
IP-Adresse des VPN in der Slave-Anwendung. |
slave
|
Eigenschaftsname |
Value |
Hinweise |
|
auto_create |
1 |
Datenbank erstellen, wenn die Volumes leer sind. |
|
error_log_filename |
slave-db.error |
Name der Fehlerprotokolldatei, die auf dem Protokolldaten-Volume gespeichert werden soll. |
|
error_log_level |
Fehler |
Fehlerprotokollierungs-Ebene |
|
server_id |
2 |
Masterserver (muss nicht 2 sein, sollte einen anderen Wert als die server_id auf dem Slave haben) |
|
rpl_mode |
slave |
Verbindung mit Master herstellen |
slave vpn
|
Eigenschaftsname |
Value |
Hinweise |
|
mode |
Client |
Als Client funktionieren. |
|
tunnel |
certificates |
Verwendung von SSL-Zertifikaten. |
|
auth_path |
"client1" |
Pfad zur SSL-Zertifikatdatei. |
|
ip_addr |
slave_vpn_ip |
IP-Adresse des VPN in der Slave-Anwendung. |
|
remote_host |
master_vpn_ip |
IP-Adresse des VPN in der Master-Anwendung. |
Die Remote-Anwendung ist eine genaue Kopie, der einzige Unterschied besteht in der Netzwerkeinrichtung der Benutzer-, Admin- und VPN-Appliances, Verbindungen zwischen der VPN-Appliance und Master=/=Slave und der server_id und Master=/=Slave-Appliance (sollte eindeutig sein).
Wenn Sie von MYSQLR nach MYSQLR64 migrieren müssen (und umgekehrt), sollten Sie nicht nur die Volumes von der 32-Bit-Appliance auf einer 64-Bit-Version (oder umgekehrt) verwenden, da dies Datenbeschädigungen verursachen könnte. Es wird empfohlen, die Datenbank auf der alten Appliance zu sichern, die gesicherte Datei auf die neue Appliance zu übertragen und die Datenbank dann in die neue Appliance zu importieren.
Der gleiche Vorgang kann verwendet werden, um eine Datenbank aus einer älteren Datenbank-Appliance (MYSQL, MYSQL5, MYSQL64) oder eine MySQL-Datenbank zu migrieren, die nicht auf einer CA AppLogic-Appliance ausgeführt werden.
So migrieren Sie die Datenbank:
Beachten Sie Folgendes:
Wichtig! Stellen Sie bei der Erstellung von Benutzern für die Datenbank sicher, dass alle Benutzer ohne Einschränkungen auf dem Host erstellt werden, von dem aus sie sich verbinden. Zum Beispiel:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
MYSQLR64 verwendet zusätzlich zu den Drittanbieter-Open-Source-Paketen der jeweiligen Basisklasse LUX64 die folgenden Drittanbieter-Open-Source-Pakete.
|
Software |
Version |
Geändert |
Lizenz |
Hinweise |
|
aspell |
0.60.3-7.1 |
Nein |
LGPLv2.1 |
N/A |
|
aspell-En |
6.0-2.1 |
Nein |
LGPLv2.1 |
N/A |
|
curl |
7.15.5-2 |
Nein |
MIT |
N/A |
|
device-mapper-event |
1.02.32-1 |
Nein |
GPLv2 |
N/A |
|
freetype |
1.02.32-1 |
Nein |
FTL |
N/A |
|
gmp |
4.1.4-10.el5 |
Nein |
LGPLV2.1 |
N/A |
|
libidn |
0.6.5-1.1 |
Nein |
LGPLv2.1 |
N/A |
|
libjpeg |
6b-37 |
Nein |
Distributable |
N/A |
|
libpng |
1.2.10-7.0.2 |
Nein |
zlib/libpng |
N/A |
|
lvm2 |
2.6.26-2.1.2.8 |
Nein |
GPLv2.0 |
N/A |
|
mysql |
5.0.77-3.el5 |
Nein |
GPL |
N/A |
|
mysql-server |
5.0.77-3.el5 |
Nein |
GPLv2 |
N/A |
|
perl-DBD-MySQL |
3.0007-2.el5 |
Nein |
Artistic |
N/A |
|
perl-DBI |
1.52-2.el5 |
Nein |
Artistic |
N/A |
|
php-cli |
5.1.6-23.el5 |
Nein |
PHPv3.01 |
N/A |
|
php-common |
5.1.6-23.el5 |
Nein |
PHPv3.01 |
N/A |
|
php-gd |
5.1.6-23.el5 |
Nein |
PHPv3.01 |
N/A |
|
php-mbstring |
5.1.6-23.el5 |
Nein |
PHPv3.01 |
N/A |
|
php-mysql |
5.1.6-23.el5 |
Nein |
PHPv3.01 |
N/A |
|
php-pdo |
5.1.6-23.el5 |
Nein |
PHPv3.01 |
N/A |
|
rsync |
2.6.8-3.1 |
Nein |
GPLv2 |
N/A |
|
samba-client |
3.0.28-1.el5_2.1 |
Nein |
GPLv2 |
N/A |
|
samba-common |
3.0.28-1.el5_2.1 |
Nein |
GPLv2 |
N/A |
|
sudo |
1.6.8p12-10 |
Nein |
ISC |
N/A |
|
lighttpd |
1.4.18-1.el5.rf |
Nein |
BSD |
N/A |
|
perl-IPC-Run |
0.84-1.el5.rf |
Nein |
Artistic |
N/A |
|
perl-Time-Duration |
1.06-1.el5.rf |
Nein |
Artistic |
N/A |
|
phpMyAdmin |
2.11.10-1 |
Nein |
GPLv2 |
N/A |
MYSQLR-Appliance "hängt" beim Neustart
Ab MYSQLR 1.6.2 können Sie ein Kennwort für das Stammdatenbankkonto festlegen/ändern. Allerdings hat die MSYQLR-Appliance ein paar Stammkonten mit unterschiedlichen Hostnamen. Zum Festlegen/Ändern eines Kennworts sollten Sie immer das Konto "root@%" verwenden. Das Konto "root@%" ist das Konto, das Appliances, die mit dem Eingabe-Terminal von MYSQLR verbunden sind, für die Authentifizierung verwenden. Die anderen Stammkonten werden nur von lokalen Benutzern verwendet. Für diese Konten sollte niemals ein Kennwort festgelegt werden, da die MYSQLR-Appliance anderenfalls nicht gestartet werden kann.
Hinweis: Wenn Sie für das Konto "root@localhost" kein Kennwort festlegen, stellt dies kein Sicherheitsproblem dar, weil dieses Konto nur von lokalen Benutzern auf der Appliance verwendet werden kann und jeder Benutzer mit Zugriff auf die Appliance das Kennwort ändern kann.
Wiederherstellen einer MYSQLR-Appliance, die nach dem Ändern des Stammdatenbankkennworts nicht gestartet werden kann
Um eine Appliance wiederherzustellen, die durch Ändern des Kennworts für die Stammdatenbank nicht gestartet werden kann, führen Sie die folgenden Schritte aus:
comp start main.MYSQLR --debug
app start --debug
Einige Minuten nach dem Starten der Appliance sollte die Anmeldung bei der Appliance möglich sein. Sie müssen warten, bis das Zeitlimit für die Appliance einsetzt.
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. Alle Rechte vorbehalten. |
|