MYSQL Определить проблему - PullRequest
0 голосов
/ 29 февраля 2020

Есть очень странная проблема. У меня есть одна процедура с определителем, названным как admin.

Был случай, когда нам пришлось удалить пользователя "dbadlys". Поэтому, чтобы сделать это, мы обновили таблицу mysql .pro c с новой учетной записью «admin @%» перед удалением учетной записи dbadlys и также сделали привилегии flu sh.

I также проверил определитель имени из information_schema.routines, и я увидел, что новое имя определителя теперь admin@%.

Проблема:

Хотя имя определителя было обновлено к новому имени, когда код вызывал процедуру, он использовал старое имя определителя dbadlys и выдавал следующую ошибку:

Пользователь, указанный как определитель, не существует

После дальнейшего изучения я обнаружил, что при повторном подключении экземпляра ошибки не было, однако, если мы изменим имя определителя и попытаемся выполнить процедуру снова, она не будет отражена.

My вопросы:

  1. Есть ли что-то еще, что мне нужно сделать в этой ситуации, или я что-то упускаю?
  2. если ничего не пропущено, то каким образом приложение должно видеть изменения?
  3. Должен ли я перезапустить сервер приложений?

1 Ответ

0 голосов
/ 29 февраля 2020

Если у вас есть привилегия dba, попробуйте воссоздать SP без определителя.

Определители не являются обязательными, если у вас нет особых указаний c, вам не нужно их использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...