2012-03-05 11 views
9

Tengo una base de datos mysql en la cual creo usuarios, y les concedo seleccionar, actualizar, insertar y eliminar en una base de datos en particular.Los usuarios de Mysql pueden seleccionar desde tablas pero no vistas

La base de datos contiene tablas y vistas. Por algún motivo, estos usuarios creados obtienen el siguiente error al intentar seleccionar desde una vista.

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

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

No obtengo este error al seleccionar de una tabla en la misma base de datos.

Implementé esta aplicación en varios lugares y está funcionando en todos lados, incluido el uso de amazon rds. esta instancia particular es un servidor mysql que se ejecuta en amazon ec2.

+0

¿qué ocurre si se concede explícitamente seleccionar en la vista al usuario? – Randy

Respuesta

16

Lo resuelto. El mensaje de error es engañoso.

La causa era que el usuario que era el definidor de las vistas ya no existía, no el usuario que seleccionaba de la vista.

He vuelto a crear este usuario y todo está bien.

0

No son posibles razones por las que has encontrado esta:

  • Puede ser que el usuario que ha utilizado para acceder a este no tiene suficiente privilegio de esta tabla en particular.
  • Puede ser que el nombre de usuario o la contraseña no coincidan.
  • Puede ser que el usuario no exista para el host especificado.
Cuestiones relacionadas