我已经成功地安装了mysql-proxy,并且理解了它的工作方式和lua脚本。但是我不擅长写lua。
所以我的问题是,我用于虚拟主机的软件总是在查询中使用OLD_PASSWORD('')来创建mysql用户。我认为mysql-proxy应该很容易地用新的密码(‘’)值替换OLD_PASSWORD('')。
我最近在youtube上看到了一些教程,有些人设法通过phpmyadmin替换查询。如果有任何其他方法来替换查询,请现在就告诉我。
不:我不能改变软件的查询,因为它是编码的,一些文件是exe的。
查询示例:
INSERT INTO mysql.user (Host, User, Password) VALUES ('localhost', 'safaf', OLD_PASSWORD('123456'))预期查询:
INSERT INTO mysql.user (Host, User, Password) VALUES ('localhost', 'safaf', PASSWORD('123456'))发布于 2012-02-04 21:22:09
在网上搜索后,我找到了解决方案。
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
endhttps://stackoverflow.com/questions/8908819
复制相似问题