
|
In breve |
|
|
Catalogo |
Sistema |
|
Categoria |
Appliance di database |
|
Volumi dell'utente |
sì |
|
Num. minimo memoria |
160 MB |
|
OS |
Linux |
|
Domande/commenti |
|
MYSQLR64 è un'appliance di database basata sul modulo di database MySQL (http://www.mysql.org). È un modo facile per aggiungere un database a qualsiasi applicazione. Le appliance possono essere usate anche in scenari di replica MYSQL complessi. Le appliance sono basate su MYSQL5 (CentOS 6.3/MySQL 5) ma gestiscono anche la replica del database.
La replica del database abilita i dati da un server database MySQL (detto master) a uno più server database MySQL (detti slave). Le appliance di MYSQLR64 possono essere impostate per la replica master-slave o master-master e per la replica con più di due master.
La configurazione della replica, la gestione e il monitoraggio sono effettuati mediante un'interfaccia Web. L'interfaccia Web è un modo facile per avviare la replica con un tempi di inattività praticamente nulli sul master. Può anche essere utilizzata per riparare una replica in caso di problemi. L'interfaccia Web può essere utilizzata per copiare i database dalle appliance di database precedenti, come MYSQL e MYSQL5. MYSQLR64 consente di gestire e sfogliare il database in totale semplicità (basato su phpMyAdmin).
La replica è utile in molti casi:
Nella sua configurazione predefinita, MYSQLR64 agisce esattamente come un'appliance di MYSQL5 con un'interfaccia Web per la gestione. Per usarlo in scenari di replica, sono necessari almeno due appliance di MYSQLR64 con una configurazione appropriata (consultare la sezione Utilizzo tipico).
MYSQLR64 archivia il database su un volume definito dell'applicazione che è possibile configurare in ciascuna istanza di MYSQLR64. MYSQLR64 crea automaticamente un database vuoto quando viene avviato su un volume vuoto.
|
Name |
Ultima versione |
OS |
!MySQL |
|
MYSQLR |
3.0.7-1 |
CentOS 6.3 |
5.5.28 |
|
MYSQLR64 |
3.0.7-1 |
CentOS 6.3 (a 64 bit) |
5.5.28 |
Importante: Si raccomanda di non combinare appliance di MYSQLR a 32 bit e a 64 bit quando si usa la replica perché i file del database sono copiati come tali dal master allo slave. Inoltre, i volumi di dati dalla versione a 32 bit dell'appliance non dovrebbero essere utilizzati con una versione a 64 bit della stessa appliance (e viceversa). Per eseguire la migrazione di un database fra le versioni di MYSQLR a 32 bit e a 64 bit, occorre scaricare i database su un host e importarli sull'altro, come descritto nella sezione Esecuzione della migrazione da o in MySQL. Per accedere alla sezione, fare clic qui.
|
Risorsa |
Minimo |
Massimo |
Predefinito |
|
CPU |
0.10 |
16 |
0.40 |
|
Memoria |
160 MB |
32 G |
512 MB |
|
Larghezza di banda |
1 Mbps |
2 Gbps |
250 Mbps |
|
Name |
Dir |
Protocollo |
Description |
|
in |
in |
Mysql |
Riceve richieste di database di MySQL. |
|
rin |
in |
Qualsiasi |
Le appliance MYSQLR64 slave che usano l'appliance come master per connettersi a questo terminale. |
|
ui |
in |
HTTP |
Consente l'accesso all'interfaccia Web di MYSQLR64. |
|
log |
out |
CIFS |
Si connette a un'appliance di NAS per l'archiviazione dei log di errore. Questo terminale può essere lasciato non connesso se non viene utilizzato. |
|
rout |
out |
Qualsiasi |
Si connette a un server MYSQLR64 master. Questo terminale può rimanere non connesso e dovrebbe essere usato soltanto nelle repliche. |
|
mon |
out |
CCE |
Invia le statistiche sull'utilizzo delle risorse e le prestazioni. Questo terminale può essere lasciato non connesso. |
L'interfaccia predefinita è abilitata. È destinato per la diagnosi e la risoluzione dei problemi (su SSH). Le versioni future di questa appliance possono disabilitare l'accesso di SSH.
Importante: I terminali di rin e rout sono usati per i dati SSH (TCP 22) e MYSQL (TCP 3306). Quando il gateway / VPN è usato per connettere questi terminali, i firewall dovrebbero essere configurati per permettere le due porte.
|
Volume |
Description |
|
dati |
Volume usato per l'archiviazione dei dati di database. Questo volume è obbligatorio. |
|
binlogs |
Il volume usato per i log binari nella modalità di replica (come master o slave). Questo volume non è obbligatorio, ma se si utilizza l'appliance nella replica (set rpl_mode diverso da nessuno) e non si fornisce il volume di binlogs, l'appliance non verrà avviata. |
Il volume di dati può contenere un file my.cnf nella directory principale, che include le opzioni di configurazione MYSQL. Per ulteriori informazioni, consultare la sezione Configurazione personalizzata. Questa caratteristica è disponibile in MYSQLR64 1.6.1 o versione successiva.
Importante:
|
Nome di proprietà |
Tipo |
Description |
|
auto_create |
Numero intero |
Se creare il database se non esiste. I valori possibili sono 1 per crearlo e 0 per non crearlo automaticamente (per evitare accidenti di sovrascrittura in caso di volumi corrotti). Se impostato su 0 e un database non esiste sul volume di dati, l'appliance viene avviata in modalità di manutenzione (l'appliance è avviata correttamente ma il deamon di MySQL non verrà avviato per consentire all'utente di analizzare il problema). L'impostazione predefinita è 1. |
|
error_log_filename |
Stringa |
Nome del file di registro degli errori relativo al file system di log (ad esempio /mysql_logs/my.log). Le directory nel percorso sono create automaticamente. Se vuoto, il log di errori è scritto al volume di dati (/mnt/data/error.log). Predefinito: (vuoto). |
|
error_log_level |
Stringa |
Livello di registrazione degli errori. I valori possibili sono: log di errori soltanto, log di avviso con errori e avvisi. Questa proprietà non è sensibile alle maiuscole/minuscole. Predefinito: errore |
|
fuso orario |
Stringa |
Specifica il fuso orario usato nell'appliance. Se questa proprietà è vuota, il fuso orario non è modificato e viene lasciato com'è. Un elenco dei fusi orari supportati è disponibile qui. |
Importante:
|
Nome di proprietà |
Tipo |
Description |
|
server_id |
Numero intero |
ID di server. I valori possibili sono da 1 a 10. Questo specifica l'ID del server quando si fa la replica. Garantisce la configurazione di ID unici per tutti i suoi server che sono parte della replica. Valore predefinito: 1 |
|
rpl_mode |
Stringa |
Modalità di replica. I valori possibili sono nessuno (nessuna replica), master, slave e master_and_slave (per gli scenari di replica multi-master in cui un server è un master e slave nello stesso tempo). Predefinito: nessuno |
|
web_pwd |
Stringa |
Password per l'autenticazione dell'interfaccia Web. Questa proprietà è facoltativa. Se impostato, il server HTTP dell'appliance è avviato e l'interfaccia Web è esposta sul terminale ui e l'interfaccia predefinita in cui è accessibile dall'opzione (web) di accesso nell'editor di CA AppLogic®. Predefinito: (vuoto). |
Questa caratteristica è disponibile in MYSQLR64 1.6.1 o versione successiva.
MYSQLR64 permette l'uso di uno file di configurazione di MYSQL personalizzato che fornisce opzioni di configurazione aggiuntive o sovrascrivere la configurazione esistente specificata in /etc/my.cnf.
Per usare una configurazione personalizzata, creare un file nominato my.cnf e collocarlo nella directory principale del volume di dati. Il formato del file dovrebbe seguire la sintassi del file di opzioni di MYSQL, come descritta nella documentazione di MYSQL.
Ad esempio, quanto segue può essere usato per affinare MYSQLR64 e ottenere prestazioni migliori quando è usato in InnoDB. (la configurazione predefinita di MYSQLR64 è ottimizzata per MyISAM). L'esempio è basato sull'uso di 512 M di memoria (predefinito per MYSQLR64).
[mysqld] # Si rimpiccioliscono i buffer di MyISAM key_buffer = 512 K myisam_sort_buffer_size = 512 K # Rende InnoDB il motore di archiviazione predefinita (facoltativo) default-storage-engine = INNODB # Imposta la dimensione del buffer di InnoDB innodb_buffer_pool_size=350M innodb_log_file_size=128M innodb_log_buffer_size=4M innodb_thread_concurrency=8 # Se non ci sono troppe tabelle, usare questa opzione, per evitare una crescita di spazio di tabella di innodb incontrollata che non è possibile recuperare. innodb_file_per_table=1
Importante: Quando usato in modalità di replica, MYSQLR64 sincronizzerà il file my.cnf sul volume di dati ogni volta che la replica è corretta/avviata, in modo che lo slave avrà la stessa configurazione del master.
MYSQLR64 fornisce un'interfaccia Web cui è possibile accedere dal terminale di ui e dall'interfaccia predefinita mediante l'opzione di accesso (web) nell'editor di CA AppLogic®. Mediante l'interfaccia Web richiede l'autenticazione di HTTP. Lasciare vuoto il nome utente e usare il valore di web_pwd come password. L'interfaccia ha le seguenti caratteristiche:
CA AppLogic® permette di aggiungere le repliche di master-slave alle appliance di MYSQLR64 esistenti senza perdere i dati.
Per aggiungere le repliche di master-slave alle appliance di MYSQLR64
CA AppLogic® permette di aggiungere nuove appliance di MYSQLR64 alle repliche master-master esistenti.
Per aggiungere appliance di MYSQLR64 alle repliche master-master
CA AppLogic® consente di riparare la replica in una configurazione master-slave senza perdere dei dati.
Per riparare la replica nelle configurazioni master-slave.
CA AppLogic® consente di riparare la replica in una configurazione master-master senza perdere dei dati.
Per riparare la replica nelle configurazioni master-master
Importante: Tutti i dati su questa appliance sono inizializzati dal master. Se ci sono aggiornamenti al database sull'appliance corrente dall'interruzione della replica, essi verranno persi. In questi casi, risolvere i conflitti manualmente.
Esiste un processo di cron che monitora la replica fra le appliance di MYSQLR64. Se la replica è abilitata, il processo di cron viene eseguito ogni due minuti e invia gli avvisi al dashboard della griglia nei casi seguenti:
In questi casi, l'utente dovrebbe risolvere il problema manualmente.
Se la replica non riesce, si può usare l'interfaccia Web per ripararla, come descritto nella sezione sopra.
L'appliance di MYSQLR64 riporta i seguenti contatori personalizzati dal terminale di MON.
I seguenti contatori appartengono al gruppo di contatori di MySql:
|
Nome di contatore |
Description |
|
Client abortiti |
Numero di client abortiti dal server |
|
Connessioni abortite |
Numero di connessioni abortite dal server |
|
Byte ricevuti |
Numero di byte ricevuti |
|
Byte inviati |
Numero di byte inviati |
|
Connessioni totali |
Numero di connessioni |
|
Domande |
Numero totale di chiamate |
|
Query lente |
Numero di query lente |
|
Thread creati |
Numero di thread creati |
|
Thread connessi |
Numero di thread connessi |
|
Thread in esecuzione |
Numero di thread in esecuzione |
|
Connessioni max usate |
Numero di connessioni max usate |
|
File aperti |
Numero di file aperti |
|
Comandi di admin |
Numero di comandi di admin |
|
Modificare comandi di tabella |
Numero di comandi di modifica di tabella |
|
Comandi di analisi |
Numero di comandi di analisi |
|
Comandi di modifica di database |
Numero di comandi di modifica di database |
|
Comandi di modifica master |
Numero di comandi di modifica master |
|
Comandi di controllo |
Numero di comandi di controllo |
|
Comandi di conferma |
Numero di comandi di conferma |
|
Comandi di creazione di database |
Numero di comandi di creazione di database |
|
Comandi di creazione di funzione |
Numero di comandi di creazione di funzione |
|
Comandi di creazione di indice |
Numero di comandi di creazione di indice |
|
Comandi di creazione di tabella |
Numero di comandi di creazione di tabella |
|
Comandi di annullamento |
Numero di comandi di annullamento |
|
Comandi di uscita di database |
Numero di comandi di uscita di database |
|
Comandi di uscita di funzione |
Numero di comandi di uscita di funzione |
|
Comandi di uscita di indice |
Numero di comandi di uscita di indice |
|
Comandi di uscita di tabella |
Numero di comandi di uscita di tabella |
|
Comandi di eliminazione |
Numero di comandi di eliminazione |
|
Comandi di concessione |
Numero di comandi di concessione |
|
Comandi di inserimento |
Numero di comandi di inserimento |
|
Comandi di inserimento di selezione |
Numero di comandi di inserimento di selezione |
|
Comandi di aborto |
Numero di comandi di aborto |
|
Comandi di carico |
Numero di comandi di carico |
|
Comandi di blocco tabelle |
Numero di comandi di blocco tabelle |
|
Comandi di ottimizzazione |
Numero di comandi di ottimizzazione |
|
Comandi di eliminazione |
Numero di comandi di eliminazione |
|
Comandi di rinomina di tabella |
Numero di comandi di rinomina tabella |
|
Comandi di riparazione |
Numero di comandi di riparazione |
|
Comandi di sostituzione |
Numero di comandi di sostituzione |
|
Comandi di selezione di sostituzione |
Numero di comandi di selezione di sostituzione |
|
Comandi di ripristino |
Numero di comandi di ripristino |
|
Comandi di revoca |
Numero di comandi di revoca |
|
Comandi di rollback |
Numero di comandi di rollback |
|
Comandi di selezione |
Numero di comandi di selezione |
|
Comandi di impostazione di opzioni |
Numero di comandi di impostazione di opzioni |
|
Comandi di troncamento |
Numero di comandi di troncamento |
|
Comandi di sblocco tabelle |
Numero di comandi di sblocco tabelle |
|
Comandi di aggiornamento |
Numero di comandi di aggiornamento |
I seguenti messaggi possono apparire nei file di log e nel log di sistema del controller di griglia quando l'appliance non riesce ad avviarsi:
|
Messaggio di errore |
Description |
|
Impossibile impostare il fuso orario |
Impossibile impostare il fuso orario di appliance come configurato dalla proprietà di fuso orario. |
|
L'appliance è in esecuzione in modalità di replica [$rpl_mode] ma il volume di binlogs manca |
L'appliance è configurata per essere eseguita come master, slave o master_and_slave ma non è stato indicato un volume di binlogs. |
|
L'appliance è in esecuzione in modalità di replica [$rpl_mode] ma non è stato connesso un terminale di rout |
L'appliance è configurata per essere eseguita come slave o master_and_slave ma non è connessa al terminale di rout. |
|
Il terminale di 'rout' è connesso, ma la proprietà [rpl_mode] è impostata su 'nessuno'. Configurare la replica sulla proprietà [rpl_mode] o disconnettere il terminale di 'rout' |
Il terminale di rout è connesso, ma la proprietà [rpl_mode] è impostata su nessuno. Configurare la replica sulla proprietà [rpl_mode] o disconnettere il terminale di 'rout' |
|
Impossibile avviare MySQL a causa di set error_log_filename e il terminale di log non è connesso! |
La proprietà error_log_filename è configurata ma il terminale di log non è connesso. |
|
Impossibile montare la condivisione dal terminale di log. |
L'appliance è stata configurata per scrivere i log sul terminale di log, ma non è riuscita a montare la condivisione sul terminale di log. |
|
La condivisione mediante il terminale di log non è scrivibile. |
La condivisione sul terminale di log non è scrivibile. |
|
Impossibile creare logdir [$logdir] sul terminale di log. |
Impossibile creare logdir [$logdir] sul terminale di log. |
|
Logdir [$logdir] non è scrivibile. |
Logdir [$logdir] sul terminale di log non è scrivibile. |
|
Logfile [$error_log] non è scrivibile |
Logfile [$error_log] sul terminale di log non è scrivibile. |
|
Impossibile creare il database |
L'appliance è stata avviata senza il database e non è riuscita a installare il database di MySQL. |
|
Impossibile impostare la replica |
L'appliance non è riuscita a configurare la replica. |
|
Impossibile avviare MySQL |
Il daemon di MySQL non è stato avviato. |
|
Autorizzazioni insufficienti nel database MySQL |
Le autorizzazioni per il 'root'@'%' non sono sufficienti oppure se usato nella modalità di replica, 'replication_user'@'%' non ha autorizzazioni sufficienti per eseguire la replica di MySQL. |
|
Impossibile avviare l'interfaccia Web |
Impossibile avviare l'interfaccia Web |
|
La dimensione di volume di dati dovrebbe essere di minimo 100 MByte |
il volume di dati dovrebbe essere superiore a 100 megabyte. Consultare le note su requisiti di volume. |
Inoltre, si possono visualizzare i seguenti errori sul dashboard della griglia mentre l'appliance è in esecuzione:
|
Messaggio di errore |
Description |
|
Lo spazio libero del volume di dati è insufficiente. Verificare. |
Lo spazio libero del volume di dati è inferiore a 20%. |
|
La replica del server master non è in esecuzione. Verificare. |
La replica del server master non è in esecuzione. |
|
La replica di slave è troppo inferiore al master. Verificare. |
La replica di slave è troppo inferiore al master. |
|
Lo spazio libero sul volume di binlog è insufficiente. Verificare. |
Lo spazio libero sul volume di binlogs è inferiore a 20%. |
Il seguente diagramma mostra un uso tipico dell'appliance di MYSQLR64 in un'applicazione di due livelli:

Appliance in uso:
La richiesta di client arriva sul gateway di utente. Il gateway inoltra le richieste al server Web, che serve la richiesta. Quando lo script (ad esempio, Perl o PHP) sui server Web deve poter accedere a dati persistenti, usa l'appliance di db mediante il terminale di out sul server Web. L'appliance di dbase è configurata per archiviare i file di log nella directory principale della condivisione esposta dai log.
Mediante un browser, gli amministratori si connettono al gateway di admin per visualizzare i file di log di mysql o server Web. Il gateway di admin inoltra le richieste all'appliance NAS dei log.
Esempio di configurazione di proprietà (le proprietà che non sono elencate dovrebbero essere lasciate ai loro valori predefiniti):
|
Nome di proprietà |
Valore |
note |
|
auto_create |
1 |
Creare il database se i volumi sono vuoti. |
|
error_log_filename |
db.error |
Nome di file log degli errori che deve essere archiviato sul volume di dati di log. |
|
error_log_level |
errore |
Livello di registrazione errori |
Nota: è necessario inoltre configurare il volume di dati sull'appliance di db e le appliance di log, contenuto e di MON. Per creare volumi di applicazione che è possibile utilizzare qui, consultare la Guida degli utenti della griglia.
Il seguente diagramma mostra un uso tipico dell'appliance di MYSQLR64 su un'applicazione Web a due livelli in cui il database è utilizzato per condividere lo stato e i dati tra più server Web, server Web con bilanciamento del carico. Inoltre, questo esempio ha un input separato di manutenzione, attraverso il quale un amministratore può registrarsi e accedere al database per la manutenzione e l'input per consentire agli amministratori di accedere e visualizzare il log di errori mysql.

Appliance in uso:
La richiesta di client arriva sul gateway di utente. Il gateway inoltra le richieste all'utilità di bilanciamento del carico Web, che indirizza la richiesta a uno dei server Web (web1 o web2). I server Web accedono al database di db.
Il database di db e i server di web1 e web2 scrivono i loro file di log all'appliance mediante i terminali di log. Inoltre, un amministratore può accedere dal gateway di admin all'appliance dei log e visualizzare i file di log.
Inoltre, un amministratore può accedere su SSH attraverso il gateway di maint al server di admin (i codici pubblico-privato devono essere impostati). Dal server di admin, l'amministratore può accedere al database di db per le statistiche o la modifica dello schema del database. Il server di admin può accedere a Internet attraverso il gateway di gway per, ad esempio, scaricare una versione più nuova delle librerie o lo schema del database.
Esempio di configurazione di proprietà (le proprietà che non sono elencate dovrebbero essere lasciate ai loro valori predefiniti):
|
Nome di proprietà |
Valore |
note |
|
auto_create |
1 |
Creare il database se i volumi sono vuoti. |
|
error_log_filename |
db.error |
Nome di file log degli errori che deve essere archiviato sul volume di dati di log. |
|
error_log_level |
errore |
Livello di registrazione errori |
Note:
Il seguente diagramma mostra un uso tipico dell'appliance di MySQL in un'applicazione Web in cui il database è replicato al server slave. È possibile usare il server slave per fare a backup coerenti dei dati senza interrompere il server master, introducendo il tempo di inattività zero dell'applicazione.

Appliance in uso:
La richiesta di client arriva sul gateway di utente. Il gateway inoltra le richieste all'utilità di bilanciamento del carico Web, che indirizza la richiesta a uno dei server Web (web1 o web2). I server Web accedono al database master.
L'appliance di slave è connesso all'appliance master e replica i suoi dati. È possibile interrompere in qualsiasi momento lo slave per fare backup coerenti dei dati di SQL o le analisi pesanti senza interferire con il prestazioni dell'appliance master e il resto dell'applicazione.
L'accesso Web a master e slave è disponibile dal gateway di admin sulla porta 8080 e 8081.
Master, slave e le appliance di web1 e web2 sono configurate per archiviare i file di log entro la directory principale della condivisione esposta da log. Inoltre, un amministratore può visualizzare i file di log mediante il gateway di admin.
Esempio di configurazione di proprietà (le proprietà che non sono elencate dovrebbero essere lasciate ai loro valori predefiniti):
master
|
Nome di proprietà |
Valore |
note |
|
auto_create |
1 |
Creare il database se i volumi sono vuoti. |
|
error_log_filename |
master-db.error |
Nome di file log degli errori che deve essere archiviato sul volume di dati di log. |
|
error_log_level |
errore |
Livello di registrazione errori |
|
server_id |
1 |
Server master (non è obbligatorio che sia 1, dovrebbe essere diverso da server_id sullo slave) |
|
rpl_mode |
master |
Scrive i log binari per eseguire la replica |
slave
|
Nome di proprietà |
Valore |
note |
|
auto_create |
1 |
Creare il database se i volumi sono vuoti. |
|
error_log_filename |
slave-db.error |
Nome di file log degli errori che deve essere archiviato sul volume di dati di log. |
|
error_log_level |
errore |
Livello di registrazione errori |
|
server_id |
2 |
Server slave (non è obbligatorio che sia 2, dovrebbe essere diverso da server_id sul master) |
|
rpl_mode |
slave |
Connette al master |
Note:
Il seguente diagramma mostra un uso tipico dell'appliance di MySQL64 in un'applicazione Web in cui il database è replicato ai due server nell'applicazione master-master. In questo scenario di utilizzo, l'applicazione usa sia WEB che MYSQLR64 durante l'operazione di bilanciamento del carico. Inoltre, se una delle istanze di WEB/MYSQLR64 non riesce, l'altra istanza di WEB/MYSQLR64 può essere usata per impedire i tempi di inattività di applicazione.

Appliance in uso:
La richiesta di client arriva sul gateway di utente. Il gateway inoltra le richieste all'utilità di bilanciamento del carico Web, che indirizza la richiesta a uno dei server Web (web1 o web2). web1 usa l'appliance di database di db1, web2 usa l'appliance di database di db2. db1 e db2 sono connessi per la replica degli aggiornamenti che i server Web fanno al database. Ciascuna appliance di MYSQLR64 usa un offset (uguale al server_id) per le colonne auto_increment in modo da evitare le voci duplicate.
L'accesso Web a db1 e db2 è disponibile dal gateway di admin sulla porta 8080 e 8081.
Le appliance di db1, db2, web1 e web2 sono configurate per archiviare i file di log con la directory principale della condivisione esposta dai log. Inoltre, un amministratore può visualizzare i file di log mediante il gateway di admin.
Esempio di configurazione di proprietà (le proprietà che non sono elencate dovrebbero essere lasciate ai loro valori predefiniti):
db1
|
Nome di proprietà |
Valore |
note |
|
auto_create |
1 |
Creare il database se i volumi sono vuoti. |
|
error_log_filename |
db1.error |
Nome di file log degli errori che deve essere archiviato sul volume di dati di log. |
|
error_log_level |
errore |
Livello di registrazione errori |
|
server_id |
1 |
Server master (non è obbligatorio che sia 1, dovrebbe essere diverso da server_id sullo slave) |
|
rpl_mode |
master_and_slave |
master e slave |
DB2
|
Nome di proprietà |
Valore |
note |
|
auto_create |
1 |
Creare il database se i volumi sono vuoti. |
|
error_log_filename |
db2.error |
Nome di file log degli errori che deve essere archiviato sul volume di dati di log. |
|
error_log_level |
errore |
Livello di registrazione errori |
|
server_id |
2 |
Server master (non è obbligatorio che sia 1, dovrebbe essere diverso da server_id sullo slave) |
|
rpl_mode |
master_and_slave |
master e slave |
Note:
Il seguente diagramma mostra un uso tipico dell'appliance di MYSQLR64 in un'applicazione Web in cui il database è replicato a quattro server in uno scenario di replica master-master. In questo scenario di utilizzo, l'applicazione usa tutti i server WEB e MYSQLR64 durante l'operazione di bilanciamento del carico. Nel caso in cui una delle istanze WEB/MYSQLR64 non riesce, è possibile usare le altre istanze di WEB/MYSQLR64 per prevenire il downtime dell'applicazione (MYSQLR64 non risolve gli errori).

Appliance in uso:
La richiesta di client arriva sul gateway di utente. Il gateway inoltra le richieste all'utilità di bilanciamento del carico web_lb, che destina alla richiesta a uno dei server Web web1, web2, web3 e web4. Ciascun server Web usa la propria appliance di database. Tutte le appliance di database sono connesse in modo circolare per replicare gli aggiornamenti dei server Web al database. Così un aggiornamento a db1 è replicato per esempio a db2, db3 e db4. Ciascuna appliance di MYSQLR64 usa un offset (uguale al server_id) per le colonne auto_increment in modo da evitare le voci duplicate.
Accesso Web a db1, db2, db3, db4 disponibile mediante il gateway di admin sulla porta 8080, 8081, 8082 e 8083.
Le appliance di db1, db2, web1 e web2 sono configurate per archiviare i file di log con la directory principale della condivisione esposta dai log. Inoltre, un amministratore può visualizzare i file di log mediante il gateway di admin.
Esempio di configurazione di proprietà (le proprietà che non sono elencate dovrebbero essere lasciate ai loro valori predefiniti):
db1
|
Nome di proprietà |
Valore |
note |
|
auto_create |
1 |
Creare il database se i volumi sono vuoti. |
|
error_log_filename |
db1.error |
Nome di file log degli errori che deve essere archiviato sul volume di dati di log. |
|
error_log_level |
errore |
Livello di registrazione errori |
|
server_id |
1 |
Server master 1 |
|
rpl_mode |
master_and_slave |
master e slave |
DB2
|
Nome di proprietà |
Valore |
note |
|
auto_create |
1 |
Creare il database se i volumi sono vuoti. |
|
error_log_filename |
db2.error |
Nome di file log degli errori che deve essere archiviato sul volume di dati di log. |
|
error_log_level |
errore |
Livello di registrazione errori |
|
server_id |
2 |
Server master 2 |
|
rpl_mode |
master_and_slave |
master e slave |
db3
|
Nome di proprietà |
Valore |
note |
|
auto_create |
1 |
Creare il database se i volumi sono vuoti. |
|
error_log_filename |
db3.error |
Nome di file log degli errori che deve essere archiviato sul volume di dati di log. |
|
error_log_level |
errore |
Livello di registrazione errori |
|
server_id |
3 |
Server master 3 |
|
rpl_mode |
master_and_slave |
master e slave |
db4
|
Nome di proprietà |
Valore |
note |
|
auto_create |
1 |
Creare il database se i volumi sono vuoti. |
|
error_log_filename |
db4.error |
Nome di file log degli errori che deve essere archiviato sul volume di dati di log. |
|
error_log_level |
errore |
Livello di registrazione errori |
|
server_id |
4 |
Server master 4 |
|
rpl_mode |
master_and_slave |
master e slave |
Note:
Il seguente diagramma mostra un uso tipico dell'appliance di MYSQLR64 in un'applicazione Web di gruppo eseguita su diversi dispositivi: Con questa impostazione, è possibile avere due o più applicazioni identiche eseguite da diversi dispositivi con il database replicato a tutte le applicazioni nella configurazione master-master. Questo è utile in due casi:
Applicazione master

Applicazione slave

Appliance in uso:
La richiesta del client arriva sul gateway utente. Il gateway inoltra le richieste all'utilità di bilanciamento del carico Web, che indirizza la richiesta a uno dei server Web (web1 o web2). I server Web accedono al database master. L'appliance master si connette all'applicazione remota (slave), l'unica differenza è il server_id dello slave e la configurazione di rete per replicare il database. L'applicazione remota si connette all'appliance master mediante il gateway di vpn che è configurato per consentire la connessione soltanto dal gateway di vpn dell'applicazione remota. Le appliance di master e slave nelle due applicazioni sono eseguite nella configurazione master-master in modo che abbiamo sempre dati identici.
Esempio di configurazione di proprietà (le proprietà che non sono elencate dovrebbero essere lasciate ai loro valori predefiniti):
L'accesso Web a master e slave è disponibile mediante il gateway di admin sulla porta 8080.
master
|
Nome di proprietà |
Valore |
note |
|
auto_create |
1 |
Creare il database se i volumi sono vuoti. |
|
error_log_filename |
master-db.error |
Nome di file log degli errori che deve essere archiviato sul volume di dati di log. |
|
error_log_level |
errore |
Livello di registrazione errori |
|
server_id |
1 |
Server master (non è obbligatorio che sia 1, dovrebbe essere diverso da server_id sullo slave) |
|
rpl_mode |
master |
Scrive i log binari per eseguire la replica |
master vpn
|
Nome di proprietà |
Valore |
note |
|
modalità |
server |
Opera come server. |
|
tunnel |
certificati |
Uso dei certificati SSL |
|
tcp_ports |
3306,22 |
Autorizza le state necessarie a MYSQLR64. |
|
ip_addr |
master_vpn_ip |
Indirizzo IP del VPN nell'applicazione master. |
|
remote_host |
slave_vpn_ip |
Indirizzo IP del VPN nell'applicazione slave. |
slave
|
Nome di proprietà |
Valore |
note |
|
auto_create |
1 |
Creare il database se i volumi sono vuoti. |
|
error_log_filename |
slave-db.error |
Nome di file log degli errori che deve essere archiviato sul volume di dati di log. |
|
error_log_level |
errore |
Livello di registrazione errori |
|
server_id |
2 |
Server slave (non è obbligatorio che sia 2, dovrebbe essere diverso da server_id sul master) |
|
rpl_mode |
slave |
Connette al master |
Vpn slave
|
Nome di proprietà |
Valore |
note |
|
modalità |
client |
Opera come client. |
|
tunnel |
certificati |
Uso dei certificati SSL |
|
auth_path |
"client1" |
Percorso al file di certificato SSL. |
|
ip_addr |
slave_vpn_ip |
Indirizzo IP del VPN nell'applicazione slave. |
|
remote_host |
master_vpn_ip |
Indirizzo IP del VPN nell'applicazione master. |
L'applicazione remota è una copia esatta, l'unica differenza è l'installazione di rete dell'utente, dell'admin, e delle appliance VPN, connesioni tra l'appliance VPN e master=/=slave, e il server_id dell'appliance di master=/=slave (dovrebbe essere unico).
Per eseguire la migrazione da MYSQLR a MYSQLR64 (e viceversa), è importante non utilizzare i volumi dall'appliance a 32 bit su una a 64 bit (o viceversa) perché questo potrebbe corrompere i dati. Si consiglia invece di scaricare il database sull'appliance precedente e trasferire il file scaricato sull'appliance nuova e quindi importare il database nella nuova appliance.
È possibile utilizzare la stessa procedura per eseguire la migrazione di un database da un'appliance di database precedente (MYSQL, MYSQL5, MYSQL64) o un database mysql non in esecuzione su un'appliance CA AppLogic®.
Per eseguire la migrazione del database:
Si ricorda che:
Importante: Quando si creano utenti per il database, verificare che tutti gli utenti sono creati senza restrizioni sull'host da cui connettono. Ad esempio:
mysql> CONCEDERE TUTTI I PRIVILEGI SU *.* A 'monty'@'%'
-> IDENTIFICATO DA 'some_pass' CON OPZIONE CONCESSIONE;
MYSQLR64 usa i seguenti pacchetti Open Source di terze parti oltre ai pacchetti Open Source di terze parti usati dalla loro classe di base LUX64.
|
Software |
Versione |
Modificato |
License |
note |
|
|
aspell |
0.60.6-12 |
No |
LGPLv2.1 |
N/A |
|
|
aspell-en |
6.0-11 |
No |
LGPLv2.1 |
N/A |
|
|
curl |
7.19.7-26.el6_2.4 |
No |
MIT |
N/A |
|
|
periferica-mapper-evento |
1.02.74-10 |
No |
GPLv2 |
N/A |
|
|
freetype |
2.3.11-6 |
No |
FTL |
N/A |
|
|
gmp |
4.3.1-7.el6_2.2 |
No |
LGPLV2.1 |
N/A |
|
|
libidn |
1.18-2 |
No |
LGPLv2.1 |
N/A |
|
|
libjpeg |
6b-46 |
No |
Distribuibile |
N/A |
|
|
libpng |
1.2.49-1.el6_2 |
No |
zlib/libpng |
N/A |
|
|
lvm2 |
2.02.95-10 |
No |
GPLv2.0 |
N/A |
|
|
mysql |
5.5.28-1 |
No |
GPL |
N/A |
|
|
mysql-server |
5.5.28-1 |
No |
GPLv2 |
N/A |
|
|
perl-DBD-MySQL |
3.0007-2.3t |
No |
Artistic |
N/A |
|
|
perl-DBI |
1.615-1 |
No |
Artistic |
N/A |
|
|
php-cli |
5.3.3-14.el6_3 |
No |
PHPv3.01 |
N/A |
|
|
php-common |
5.3.3-14.el6_3 |
No |
PHPv3.01 |
N/A |
|
|
php-gd |
5.3.3-14.el6_3 |
No |
PHPv3.01 |
N/A |
|
|
php-mbstring |
5.3.3-14.el6_3 |
No |
PHPv3.01 |
N/A |
|
|
php-mysql |
5.3.3-14.el6_3 |
No |
PHPv3.01 |
N/A |
|
|
php-pdo |
5.3.3-14.el6_3 |
No |
PHPv3.01 |
N/A |
|
|
rsync |
3.0.6-9 |
No |
GPLv2 |
N/A |
|
|
samba-client |
3.5.10-125 |
No |
GPLv2 |
N/A |
|
|
samba-common |
3.5.10-125 |
No |
GPLv2 |
N/A |
|
|
sudo |
1.7.4p5-13.el6_3 |
No |
ISC |
N/A |
|
|
lighttpd |
1.4.31-1 |
No |
BSD |
N/A |
|
|
perl-IPC-Run |
0.84-1.3t |
No |
Artistic |
N/A |
|
|
perl-Time-Duration |
1.06-1.3t |
No |
Artistic |
N/A |
|
|
phpMyAdmin |
3.5.2.2-1 |
No |
GPLv2 |
N/A |
|
L'appliance di MYSQLR si blocca all'avvio
Avviandola con MYSQLR 1.6.2, è possibile impostare/modificare una password per l'account di root di database. Tuttavia, l'appliance di MSYQLR ha pochi account principali con diversi nomi di host. Durante l'impostazione/modifica di una password, è necessario utilizzare sempre l'account di root@%. L'account di root@% è quello rispetto a cui le appliance connesse al terminale IN di MYSQLR eseguono l'autenticazione. Gli altri account di root vengono utilizzati solamente da utenti locali e non è necessario impostare una password, altrimenti sarà impossibile avviare l'appliance di MYSQLR.
Nota: non impostare una password per l'account di root@localhost non rappresenta alcun rischio di protezione, perché l'account può essere utilizzato soltanto dagli utenti locali sull'appliance e chiunque abbia accesso all'appliance può modificare la password.
Recupero di un'appliance di MYSQLR con problemi di avvio in seguito alla modifica della password di root di database
Per recuperare un'appliance che non riesce ad avviarsi in seguito a una modifica della password principale del database, procedere come segue:
comp start main.MYSQLR --debug
app start --debug
Qualche secondo dopo che si è avviata l'appliance, dovrebbe essere possibile eseguire l'accesso all'appliance. Non è necessario attendere il timeout dell'appliance.
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 © 2013 CA.
Tutti i diritti riservati.
|
|