Wenn Sie nicht in das Betriebssystem zu verbreiten oder verwenden Sie die neuesten Funktionen oder einfach nur sehen wollen, um der Öffentlichkeit dienen Version des Baumes (öffentlichen Subversion-Baum), um den Quellcode im Proxy kann auch bauen. Zu tun, nur ein paar grundlegende Aufgaben.
Eine einfache Abfrage stiehlt (Einfache Anfrage Interception)
Wie das erste Beispiel, eine Art “Ich war dort, wie” wo Sie stehen itgoja Maßnahmen zur Schaffung eines Gefühl von let’s see.
Erstellen Sie eine Datei mit dem Namen first_example.lua Lua ist neben geben Sie den Code.
Ihre Datenbank-Server auf die gleiche Maschine, um einen Proxy-Server.
Unabhängig von der Konsole, um eine Verbindung zum Server wie gewohnt für den Zugriff auf einen Proxy-Server, der einzige Unterschied besteht darin, dass anstelle der 3306 im Hafen wird der Port 4040.
Die erste Anfrage wurde gesendet, um auf die MySQL-Client. Die zweite Sache ist, dass Sie versendet. Sie sehen können, aber Sie können sich in der Mitte, Proxy, kann etwas für Sie. Nun ist dies nur einen sehr geringen, aber auf etwas mehr Interesse in den folgenden Absätzen wird.
Fallstricke sayongsang
So verwenden Sie ein Skript auf die Version 0.5.0 ruah-Proxy-Profiling müssen die Option, und wenn nicht, funktioniert nicht read_query und read_query_result Funktion. Diese Option nicht mehr benötigt von Version 0.5.1 ist es nicht. Anstelle der oben genannten Funktionen sind standardmäßig aktiviert, diese Verwendung hat eine neue Option zu überspringen. Wenn Sie einen Proxy und Load-Balancing, wenn auch nur für jetzt-Proxy-skip-Profiling Option muss angegeben werden.
Query rewrite (Query Rewriting)
Die Abfrage auf etwas mehr interessant, wollen wir versuchen, wieder das Schloss. Zur Veranschaulichung dieser Funktion, greife ich mal eine praktische Aufgabe. Enthält eine gemeinsame Tippfehler, erhielten wir eine Anfrage zu ersetzen, indem Sie die richtigen Keywords. So geben Sie am häufigsten in den Fingern verdreht Satz als Crate and SLECT.
Der Zweck der ersten beiden Fragen an den Kunden zu erreichen, was notwendig ist. Kiste, dann ist es mein erster Fehler, wie elegant CREATE geändert wurde, und zuletzt geändert in der SELECT-SLECT erhalten. Dieses Skript ist sehr roh, aber sie kamen Sie auf die Idee ist die Möglichkeit.
Query Injection (Query Injection)
MySQL Proxy ist eine der Besonderheiten der Injektion Abfrage (Query-Injektion), wollen wir versuchen zu nutzen. MySQL Proxy ist ein einzigartiges Merkmal der Abfrage Injektion. Wenn Sie die Abfrage, um eine Warteschlange von Anfragen und ID-Code für jede Abfrage an den Server senden können sie zurück.
Bild, der Server leitet die Anfrage an die drei, natürlich, den Server wieder die drei Ergebnismenge. Query-Ergebnis-Set, um die Injektion read_query_result durch eine andere Funktion, die jeweils nach der ID der Funktion können Sie Ergebnismenge. ID 2 und 3, zum Beispiel, erhalten Sie auf den Status wieder von der Abfrage durch den Vergleich der Wert ihrer Wirkung gemessen werden kann auf dem Server. SHOW STATUS, Sie nur für den Betrieb, da der innere Wert, die an der Ergebnismenge der Auftraggeber (der Kunde ist nur so gut, Sie nicht passieren, weil es ist zu erwarten), wird es realisiert.
Ergebnis-Set von den Kunden der Abfrage wird der Anzug. Transparent für den Kunden, und werden auf der Konsole zwischen den Proxy, können Sie statistische Zahlen. Zum Beispiel, eine Anfrage an eine komplette Tutorial Forge (die Abfrage Injektion Tutorial) sehen.
Makro (Macro)
Verwenden Sie ein Makro-Funktion zur Abfrage umschreiben ist eine weitere Möglichkeit. Wie nutzen Sie das Makro in der Proxy ist eine der eindrucksvollsten. Sie rewrite der SQL-Sprache, oder ein wenig mehr können Sie sich in den Westen. Zum Beispiel, Menschen mit MySQL-Kommandozeilen-Client zu nutzen und zeigen, Tabellen verwendet, um, anstelle der Verwendung der CD und LS. Benutzung von MySQL-Proxy mit CD und LS, um die Ergebnisse, die Sie erwarten können. Dies ist ein gutes Beispiel für die Makro-Erstellung und Verwendung finden Sie in den letzten Blog-Einträge. Zu wiederholen, als sie alle hier, Sie direkt Ihre erste Makros mit MySQL Proxy schauen hoffe zu besuchen.
Result Set Creation: MySQL-Shell-Kommando
Proxy-Anfrage aus dem Client und dem Ergebnis müssen Sie an den Client zurückgegeben. Die meisten ist es sehr einfach zu tun. Und leitet die Anfrage an den Server-, Ergebnis-Set die Einfuhr, die Ergebnis-Set wird für den Kunden. Aber kann der Server nicht liefern zu können, benötigen Sie, um wieder etwas zu tun, ich? Wenn ja, wir keolreommyeong Daten und besteht aus zwei-dimensionalen Array, die zum Erstellen von Ergebnis-Set.
http://linkmoa.com