phpMyAdmin
 sql >> Baza danych >  >> Database Tools >> phpMyAdmin

Utwórz widok bez uprawnień SUPER w phpMyAdmin

Z dokumentacji:

Jeśli określisz klauzulę DEFINER, nie możesz ustawić wartości dla żadnego użytkownika poza swoim własnym, chyba że masz uprawnienie SUPER. Te reguły określają legalne wartości użytkownika DFINER:

  • *Jeśli nie masz uprawnienia SUPER, jedyną legalną wartością użytkownika jest Twoje własne konto, określone dosłownie lub przy użyciu CURRENT_USER. Nie możesz ustawić definiującego na inne konto.*
  • Jeśli masz uprawnienie SUPER, możesz określić dowolną syntaktycznie prawidłową nazwę konta. Jeśli konto w rzeczywistości nie istnieje, generowane jest ostrzeżenie.

Sprawdź swoje konto MySQL, nie jest to byname @localhost .

Rozwiązania:

  • Utwórz nowy widok z klauzulą ​​DEFINIER, korzystając z konta, któremu przyznano uprawnienie SUPER.
  • Nie używaj klauzuli DEFINER w CREATE VIEW, w tym przypadku MySQL utworzy widok DEFINER =CURRENT_USER.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Zagnieżdżone ifs w select-where dla warunkowego dynamicznego filtrowania

  2. Użyj phpMyAdmin do zarządzania bazami danych

  3. Jak mogę zapytać między dwiema datami, gdy pole „data” jest ciągiem?

  4. Statystyka zapytania zajmuje 99% czasu zapytania

  5. jak napisać procedurę wstawiania danych do tabeli w phpmyadmin?