Как я могу заменить свои запросы на MySQL-прокси или любым другим способом? - PullRequest
2 голосов
/ 18 января 2012

Я успешно установил mysql-proxy и понял, как работает сценарий и lua.Но я плохо умею писать lua.

Так что моя проблема в том, что программное обеспечение, которое я использую для веб-хостинга, продолжает создавать пользователей mysql с OLD_PASSWORD ('') в запросах.Я думаю, что mysql-proxy должен легко заменить OLD_PASSWORD ('') новым значением PASSWORD ('').

Недавно я видел некоторые учебники на YouTube, которым некоторые ppl удается заменить запросы через 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'))

1 Ответ

1 голос
/ 04 февраля 2012

После некоторого поиска в интернете я нашел решение.

 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
...