phpMyAdmin
 sql >> Database >  >> Database Tools >> phpMyAdmin

Crea vista senza privilegi SUPER in phpMyAdmin

Dalla documentazione:

Se specifichi la clausola DEFINER, non puoi impostare il valore su nessun utente tranne il tuo a meno che tu non disponga del privilegio SUPER. Queste regole determinano i valori utente di DEFINER legale:

  • *Se non si dispone del privilegio SUPER, l'unico valore utente legale è il proprio account, specificato letteralmente o utilizzando CURRENT_USER. Non è possibile impostare il definitore su un altro account.*
  • Se hai il privilegio SUPER, puoi specificare qualsiasi nome di account sintatticamente legale. Se l'account non esiste effettivamente, viene generato un avviso.

Controlla il tuo account MySQL, non è byname @localhost .

Soluzioni:

  • Crea una nuova vista con la clausola DEFINER utilizzando l'account concesso con privilegio SUPER.
  • Non utilizzare la clausola DEFINER in CREATE VIEW, in questo caso MySQL creerà la vista DEFINER =CURRENT_USER.