#mysql #lua #mysql-proxy
#mysql #lua #mysql-прокси
Вопрос:
Я знаю, что есть много вопросов о прокси-сервере mysql по SO, однако я прочитал многие из них, и ни один, похоже, не решает мою проблему. Я просто пытаюсь запустить и запустить mysql-proxy с конечной целью переписать некоторые запросы, которые проходят через прокси. Я использую ubuntu 14.04, у меня есть mysql-proxy версии 0.8.1 и mysql версии 5.5.37. Чтобы запустить mysql-proxy, я запускаю следующую строку в командной строке
sudo mysql-proxy --defaults-file=mysql-proxy.cnf
где файл mysql-proxy.cnf выглядит следующим образом:
[mysql-proxy]
log-file= /var/log/mysql/proxy-error.log
log-level= debug
admin-lua-script= /usr/lib/mysql-proxy/lua/admin.lua
proxy-lua-script= /path/to/lua/script/example.lua
admin-username = myusername
admin-password = mypassword
proxy-skip-profiling = true
proxy-address = localhost:4040
proxy-backend-addresses = localhost:3306
plugins = proxy,admin
Мой пример.сценарий lua очень прост и предназначен только для проверки того, что запрос mysql-proxy изменяется. пример.lua вставлен ниже
-- first_example.lua
function read_query(packet)
if string.byte(packet) == proxy.COM_QUERY then
print("Hello world! Seen the query: " .. string.sub(packet, 2))
end
end
Поскольку я не запускаю это с флагом —daemon, когда я запускаю эту строку выше в командной строке, она просто бесконечно повторяется, что и ожидалось.
Наконец, в отдельном сеансе терминала я запускаю следующее в командной строке и ввожу свой пароль для подключения к прокси
mysql -u myusername -p -h localhost -P 4040
Затем я выбираю базу данных для использования и запускаю простой запрос SELECT для одной из таблиц. Основываясь на нескольких статьях / руководствах, которые я прочитал о mysql-proxy, мой первый сеанс консоли, на котором был запущен mysql-proxy, должен распечатать некоторые данные на основе файла example.lua. Однако этого не происходит, на самом деле ничего не происходит.
Я не уверен, имеет ли следующий бит информации какое-либо значение, но в моем конфигурационном файле mysql «my.cnf» у меня есть эти несколько строк
bind-address = 255.255.255.255
#bind-address = 127.0.0.1
где я заменил свой фактический ip-адрес на 255.255.255.255, потому что я не хочу показывать свой ip-адрес публично.
Пожалуйста, я пытался разобраться в этом в течение нескольких дней, и никакое количество новых сценариев lua или изменение параметров host:port в файле mysql-proxy.cnf ничего не решили. Я
Комментарии:
1. Дело в том, что вы неправильно подключаетесь к серверу MySQL. Смотрите serverfault.com/questions/306421 /. …