使用mysql-proxy操作登录信息

jes*_*ley 5 mysql mysql-proxy

是否可以在lua脚本中拦截和更改mysql-proxy的登录信息。

例如,如果用户要像这样点击代理:

mysql -h localhost -P 4040 -u bob -D orders -p
Run Code Online (Sandbox Code Playgroud)

我希望连接不仅重定向到后端服务器,而且用户名/数据库名称也要更改,以便上面的命令等效于此:

mysql -h production.server -P 3306 -u bob_production -D bob_orders -p
Run Code Online (Sandbox Code Playgroud)

我注意到,似乎只有通过身份验证后,才能在脚本中获取身份验证信息,即使我以前可以获取身份验证信息,我也看不到轻松注入它的方法。

有谁知道如何在mysql-proxy或其他解决方案中做到这一点?

Cle*_*ndo 3

有可能的。在安装包的 share/docs 目录中,查看教程脚本tutorial-scramble.lua,它是验证来自远程客户端的散列密码并替换服务器所需的身份验证凭据的示例。

教程示例中使用的函数是:read_auth ()

您可能还想监视来自服务器的身份验证响应,这可以使用read_auth_result () 来完成。