2012-03-05 8 views
9

Ho un database mysql su cui creo gli utenti e concedo loro di selezionare, aggiornare, inserire ed eliminare su un particolare database.Gli utenti Mysql possono selezionare dalle tabelle ma non le viste

Il database contiene sia tabelle che viste. Per qualche ragione, questi utenti creati ottengono il seguente errore quando provano a selezionare da una vista.

Access denied for user 'someuser'@'%' (using password: YES) 

SELECT * FROM (`someview`) WHERE `somecolumn` = 0 

Tuttavia, non ottengo questo errore quando si seleziona da una tabella nello stesso database.

Ho installato questa applicazione in più posti e funziona ovunque, incluso l'utilizzo di Amazon RDS. questa particolare istanza è un server mysql in esecuzione su Amazon Ec2.

+0

cosa succede se si concede esplicitamente la selezione sulla vista all'utente? – Randy

risposta

16

Risolto. Il messaggio di errore è fuorviante.

La causa era l'utente che era il definitore delle viste non esisteva più, non l'utente che stava selezionando dalla vista.

Ho ricreato questo utente e tutto va bene.

0

ci sono possibili motivi per cui hai incontrato questo:

  • Può essere l'utente che hai utilizzato per accedere a questo non ha abbastanza privilegi su questo particolare tavolo.
  • Potrebbe essere che il nome utente o la password non corrispondano.
  • Potrebbe essere che l'utente non esiste per l'host specificato.
Problemi correlati