MySQL Proxy: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Gmaxia (discussione | contributi)
Gmaxia (discussione | contributi)
Riga 39:
Nel primo caso, il Proxy ha delle funzioni predefinite per gestire la caduta del server primario, e ridirigerla al server successivo nella lista. Può anche effettuare il bilanciamento di carico, la separazione fra query di lettura e scrittura fra vari server (per esempio master e slave in replicazione) e può anche gestire un pool di connessioni.
Questa funzione richiede pochissima attività di manutenzione nella sua forma base. Per gestire i casi critici, è possibile intervenire con uno script [[Lua]]. Si tratta, peraltro, di un'applicazione ancora immatura (Settembre [[2007]]), e pertanto da usare con cautela.
 
=== Un esempio ===
 
Il secondo caso è differente. Per modificare la query in uscita o i risultati in entrata, è necessario scrivere un programma in [[Lua]] e lanciare il Proxy con un'opzione che lo fa caricare. Per esempio, questo script intercetta la query ''SELECT 1'' e la riscrive come ''SELECT 100''.
Riga 54 ⟶ 56:
end
end
 
=== Uso ===
 
Per usare questo script, si lancia il Proxy con l'apposita opzione
Riga 60 ⟶ 64:
 
In questo esempio, se la query è ''SELECT 1'', il Proxy inserisce la query modificata nella coda interna (''proxy.queries'') e la esegue.
 
Per usare il serrver tramite il Proxy, bisogna collegare il client alla porta del proxy (default: 4040)
 
$ mysql -u UTENTE -pPASSWORD -h 127.0.0.1 -P 4040
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 609
Server version: 5.0.45-log MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql > SELECT 1;
+-----+
| 100 |
+-----+
| 100 |
+-----+
1 row in set (0.00 sec)
 
=== Potenzialità ===
 
Usando una combinazione di read_query e read_query_result, il Proxy può effettuare una o più delle seguenti operazioni: