MySQL AB a publié il y a quelques semaines un nouvel outil fort intéressant et qui a été accueilli avec enthousiasme par la communauté des utilisateurs MySQL. Il s'agit de MySQL Proxy. Comme son nom l'indique ce programme se place entre le client et le serveur MySQL. La puissance de ce logiciel réside notamment dans sa flexibilité, fournie par le langage de script Lua.
Selon Wikipédia : Lua est un langage de script libre dont l'interpréteur est conçu dans un but de compacité (95 à 185 Ko pour la version 5.0.2, selon le compilateur utilisé et le système cible). Lua est conçu de manière à pouvoir être embarqué au sein d'une autre application, ce qui permet d'étendre celle-ci.
Avec MySQL Proxy, vous serez capable de :
Selon Wikipédia : Lua est un langage de script libre dont l'interpréteur est conçu dans un but de compacité (95 à 185 Ko pour la version 5.0.2, selon le compilateur utilisé et le système cible). Lua est conçu de manière à pouvoir être embarqué au sein d'une autre application, ce qui permet d'étendre celle-ci.
Avec MySQL Proxy, vous serez capable de :
- Filtrer les requêtes avant de les transmettre au serveur ;
- Réécrire certaines requêtes (en corrigant la syntaxe par exemple) ;
- Intercepter le resultset afin d'y supprimer, modifier ou ajouter des enregistrements ;
- Interdire le retour de certains résultats vers le client.
- Rediriger les écritures sur le maître et les lectures sur l'esclave, dans le cas de réplication ;
- Exécuter des commandes Shell.
MySQL Proxy (1430 hits)
Download (409 hits)
Getting Started with MySQL Proxy (658 hits)
Language Lua (503 hits)
> Lire la dépêche (15 commentaires, moyenne: 4,2).
Vous avez demandé le commentaire #857694.




Il existe ausi DBIx::MyServer en Perl
Sympa, ce proxy.
Pour ceux que l'utilisation d'un nouveau langage (lua) rebute, vous pouvez également utiliser DBIx::MyServer, un module en Perl.
Un très bon article à ce sujet : http://dev.mysql.com/tech-resources/articles/dbixmyserver.ht(...)
Ce qu'on peut en faire ?
- implémenter un système de journal (log) maison en local ou à distance
- générer des tests à la demande
- implémenter des macros pour les expressions SQL les plus courantes
- lancer des commandes shell et du mail par votre serveur de bases de données
- utiliser d'autres SGBD au sein de MySQL
- ...