MySQL Proxy: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
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:
|