Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

update a 2 tablas dif bd acceso denegado

Estas en el tema de update a 2 tablas dif bd acceso denegado en el foro de Mysql en Foros del Web. hola esta consulta me funciona en local es una actualizacion de una tabla a de la base de datos AA a una tabla b de ...
  #1 (permalink)  
Antiguo 15/05/2013, 13:23
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
update a 2 tablas dif bd acceso denegado

hola

esta consulta me funciona en local

es una actualizacion de una tabla a de la base de datos AA a una tabla b de la base de datos BB:

(uso php, antes de mi generar mi consulta abro la conexion $con_db = conecta_db();)

Código MySQL:
Ver original
  1. UPDATE BB.b tu
  2.    (SELECT clave, campo1, campo2, campo3, campo4, campo5
  3.     FROM AA.a) tz
  4. ON tu.clave=tz.clave
  5. SET tu.campo1=tz.campo1, tu.campo2=tz.campo2, tu.campo3=tz.campo3, tu.campo4=tz.campo4, tu.campo5=tz.campo5

al pasarla al server obtuve el siguiente error

SELECT command denied to user 'userDB_BB'@'direccion.com' for table 'a'

entonces probe agregando mis 2 conexiones:

$con_db = conecta_db(); (db BB)
$con_dbc = conecta_db_AA(); (db AA)

y el error cambio a:

SELECT command denied to user 'userDB_AA'@'direccion.com' for table 'b'

Como deberia abrirse las conexiones al "mismo tiempo" para que no me genere el error?

Gracias

Última edición por catpaw; 15/05/2013 a las 13:29
  #2 (permalink)  
Antiguo 15/05/2013, 14:08
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: update a 2 tablas dif bd acceso denegado

Hola catpaw:

Esto me parece que es un problema de permisos, más que un problema con la consulta. Pero empecemos desde un principio, ¿¿¿las BD's están en el mismo servidor o en servidores distintos??? segundo, según los errores que estás colocando, estás utilizando dos usuarios

userDB_AA
userDB_BB

Lo cual desde mi punto de vista es un error, lo que tienes que hacer es crear un solo usuario PERO QUE TENGA PERMISO DE ACCEDER A LAS DOS BASES DE DATOS, y otorgarle los permisos de selección o actualización que requieras.

verifica esta situación...

Saludos
Leo.
  #3 (permalink)  
Antiguo 15/05/2013, 14:22
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
Respuesta: update a 2 tablas dif bd acceso denegado

hola leo

Si las bds estan en el mismo server.

cada base tiene un usuario diferente

entonces deberia agregar a una el usuario de la otra?
  #4 (permalink)  
Antiguo 15/05/2013, 14:38
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: update a 2 tablas dif bd acceso denegado

Más que agregar usuarios el tema es otorgar los permisos correspondientes al usuario con el que quieres trabajar checa esta liga:

http://dev.mysql.com/doc/refman/5.0/es/grant.html

Espero que esto te ayude a entender esto de los permisos y puedas resolver tu problema, pero si no es así, coméntalo en el foro y con gusto tratamos de ayudarte.

saludos
Leo.
  #5 (permalink)  
Antiguo 15/05/2013, 19:10
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
Respuesta: update a 2 tablas dif bd acceso denegado

ok

entonces solo no entiendo a quien debo dar permisos

mira para entender un poco mejor:



(http://subefotos.com/ver/?1420b229e8...ab0471214o.png)

gracias, saludos
  #6 (permalink)  
Antiguo 15/05/2013, 19:45
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: update a 2 tablas dif bd acceso denegado

El problema pasa por entender cómo funcionan los permisos de usuario.
Si cada usuario que tienes en el servidor tiene permisos para una sola base, entonces con esos usuarios no puedes hacer consultas de ningún tipo a otra base, incluyendo UPDATE, INSERT o DELETE. Es tas simple como eso.
Entonces, para que con un usuario puedas hacer operaciones en más de una base, ese usuario debe tener específicamente asignados permisos para acceder a las bases con las que trabajará, o bien permisos globales para trabajar en cualquiera.
¿Se entiende eso?
No pasa, como te dice Leo, por crear más usuarios, sino por otorgarles los permisos de acceso necesarios.

¿Qué duda te presenta el asunto de los permisos y los usuarios?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 20/05/2013, 08:47
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
Respuesta: update a 2 tablas dif bd acceso denegado

hola disculpen la tardanza, gracias por sus respuestas

pues entonces entiendo que deberia hacer por ejemplo:

Código MySQL:
Ver original
  1. GRANT SELECT, UPDATE ON AA.tabla TO userDB_BB IDENTIFIED BY 'clave_user'
  2. GRANT SELECT, UPDATE ON AA.tabla TO userDB_CC IDENTIFIED BY 'clave_user'
  3. ...asi para cada base

cierto?
  #8 (permalink)  
Antiguo 20/05/2013, 09:10
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: update a 2 tablas dif bd acceso denegado

Eso sería únicamente si deseas darles permisos para leer y actualizar (no borrar, por ejemplo), a los dos usuarios en una única tabla de una única base de datos.
Pero no verán jamás ninguna otra tabla.
¿Eso es lo que deseas.

Por cierto: El IDENTIFIED BY no es necesario si el usuario ya ha sido creado y le ha sido asignada clave. Pisarías la clave de ese usuario con otra.
Lee el manual con más cuidado y procura entender para qué se usan las cosas. El manual es muy claro al explicarlo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 20/05/2013, 09:17
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
Respuesta: update a 2 tablas dif bd acceso denegado

si eso deseo...bueno de hecho solo seria consultar la base de datos fuente (AA) para ver y/o actualizar datos pero en la base de datos que esta pidiendo el acceso (BB o CC o cualquier otra) no a la de la fuente.

lo que debería ser entonces:

Código MySQL:
Ver original
  1. GRANT SELECT ON AA.tabla TO userDB_BB;
  2. GRANT SELECT ON AA.tabla TO userDB_CC;
  3. ...

ok gracias por su tiempo

Etiquetas: bd, campo, denegado, join, php, select, tabla, tablas, update
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:33.