2013-02-11 5 views
2

Моя ситуация такова: У меня есть два сервера, один из серверов Windows, на которых работает IIS, и держит мой веб-сайт. Другой - это сервер linux, который поддерживает мой сервер mysql.mysql запросы выполняются как root

Я создал пользователя (mysql) на сервере mysql с минимальным набором привилегий, и я использую его учетные данные при подключении с моего сайта для запуска запросов.

Но когда я запускаю запрос и проверяю процессы, которые выполняются на сервере mysql (mysql> show processlist), я вижу, что запрос, который я выполняю (с веб-сайта), выполняется под (mysql) учетная запись root!

Любая идея, почему это должно произойти ???


Hituptony получил его :-) Мой запрос был обработан SP, и превратился в подготовленное заявление, а затем запустить ... что SP был определен с корневой учетной записи (бог знает почему), и более никогда не было положения о безопасности «invoker».

http://dev.mysql.com/doc/refman/5.5/en/stored-programs-security.html

+0

нет, извините, я wasn ' t ясно. Я имел в виду, что я запускал «show processlist» из командной строки mysql. Показывает (среди прочего) все запросы, которые выполняются сейчас и кто их выполнил. – strum

+0

Спасибо за разъяснение. –

+0

- это запрос хранимой процедуры или SELECT .... ?? – Hituptony

ответ

1

Я предполагаю, что это будет зависеть от того, что вы делаете, если вы работаете хранимую процедуру и создается корневой учетной записи, то при запуске он все равно будет показывать «пользователь, который создал «это как тот, который работает, когда на самом деле это, вероятно, пользователь соединения. Теоретически, если вы используете инструкцию select, вы должны работать в качестве пользователя соединения, так как не было бы «создателя» для выбора ... если вы поймаете мое смещение ...

+0

спасибо! мой запрос был подготовлен с помощью SP, и у него не было предложения SQL SECURITY INVOKER. – strum

+0

слово brothaaaaaaa – Hituptony

Смежные вопросы