首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何用mysql-proxy或任何可能的方式替换我的查询?

我如何用mysql-proxy或任何可能的方式替换我的查询?
EN

Stack Overflow用户
提问于 2012-01-18 18:50:05
回答 1查看 597关注 0票数 2

我已经成功地安装了mysql-proxy,并且理解了它的工作方式和lua脚本。但是我不擅长写lua。

所以我的问题是,我用于虚拟主机的软件总是在查询中使用OLD_PASSWORD('')来创建mysql用户。我认为mysql-proxy应该很容易地用新的密码(‘’)值替换OLD_PASSWORD('')。

我最近在youtube上看到了一些教程,有些人设法通过phpmyadmin替换查询。如果有任何其他方法来替换查询,请现在就告诉我。

不:我不能改变软件的查询,因为它是编码的,一些文件是exe的。

查询示例:

代码语言:javascript
复制
INSERT INTO mysql.user (Host, User, Password) VALUES ('localhost', 'safaf', OLD_PASSWORD('123456'))

预期查询:

代码语言:javascript
复制
INSERT INTO mysql.user (Host, User, Password) VALUES ('localhost', 'safaf', PASSWORD('123456'))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-04 21:22:09

在网上搜索后,我找到了解决方案。

代码语言:javascript
复制
 function read_query( packet )
   if string.byte(packet) == proxy.COM_QUERY then
     local query = string.sub(packet, 2)
     local replacing = false
     -- matches "OLD" as first word of the query
     if string.match(string.upper(query), 'OLD_PASSWORD') then
         query = string.gsub(query,'OLD_PASSWORD', 'PASSWORD')
         replacing = true
     end
     if (replacing) then
         proxy.queries:append(1, string.char(proxy.COM_QUERY) .. query )
         return proxy.PROXY_SEND_QUERY
     end
   end
 end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8908819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档