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

Ayuda con error 1226 MySql

Estas en el tema de Ayuda con error 1226 MySql en el foro de Mysql en Foros del Web. Hola a todos Me ha aparecido el error 1226, al conectar un determinado usuario a mi MB. Mi pregunta es a que se refiere en ...
  #1 (permalink)  
Antiguo 09/07/2008, 13:18
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años
Puntos: 2
Ayuda con error 1226 MySql

Hola a todos

Me ha aparecido el error 1226, al conectar un determinado usuario a mi MB.
Mi pregunta es a que se refiere en concreto este error, por lo que he logrado ver parece decir que se ha exedido la consultas o conexiones de ese usuario, con respecto a lo que esta seteado an la tabla user de la MySql.
Pero mi duda es si ese valor se refiere a conexiones simultaneas?? acumuladas?? o ninguna de las anteriores, tal vez esta completamente equivocado en mi apreciación.

Desde ya gracias
  #2 (permalink)  
Antiguo 09/07/2008, 15:54
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años
Puntos: 2
Ayuda con error 1226 MySql

Este es el mensaje que me dá

User 'monitoreo' has exceeded the 'max_questions' resource (current value: 10)

Una mano por favor

Gracias
  #3 (permalink)  
Antiguo 09/07/2008, 17:13
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: Ayuda con error 1226 MySql

Ese usuario ha sido predefinido para realizar hasta 10 consultas en una hora. Eso implica que si en el lapso de una hora a contar desde el momento en que se loguea, realiza 10 consultas (SELECT, INSERT, DELETE, UPDATE, llamadas a procedures, por ejemplo), la llamada a una onceava será rechazada si la misma se produce dentro de los 60 minutos de esa hora. A partir del siguiente segundo a la hora el contador vuelve a cero y puede realizarla, hasta entonces no.
El hecho de no realizar las 10 consultas no hace que las llamadas restantes se acumulen a la hora siguiente. Son 10 por hora, nada más.
El problema, si no has definido esa restricción tu mismo, puede ser de la configuración por default del server. Si la configuración indica que los nuevos usuarios tendrán alguna restricción de ese ese tipo, cada vez que se crea se aplica, aunque no lo sepas.
Esto se hace habitualmente en ciertos sistemas de mucha concurrencia para evitar la sobrecarga indebida de consultas por parte de usuarios. Para ello, incluso se puede restringir cuántas conexiones (logins) pueden realizarse por hora, e incluso si puede o no loguearse más de una vez al mismo tiempo, desde el mismo o desde diferentes puestos.
Para evitar eso el tema es reconfigurar los permisos del usuario incluyendo al final "WITH MAX_QUERIES_PER_HOUR":

Código:
GRANT ON base_de_datos TO nombre_usuario WITH MAX_QUERIES_PER_HOUR 0;
Poner MAX_QUERIES_PER_HOUR a cero (0) hace que se quite el límite a las consultas. Cualquier otro valor será el nuevo límite.

Nota Bene: Si no eres el root, o no tienes permisos de root, y a tí se te ha definido ese límite de 10 consultas por hora, no podrás modificarlo a los usuarios que crees por una restricción general de todos los motores de bases de datos: Ningún usuario puede otorgar permisos mayores a los que él mismo tiene. Por caso, si no puedes crear tablas en una base (GRANT CREATE TABLE ON db TO usr;) , los usuarios que puedas crear tampoco lo podrán hacer.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 09/07/2008, 17:30
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años
Puntos: 2
Respuesta: Ayuda con error 1226 MySql

Ok Muchas gracias

Te comento.
Si, tengo acceso al servidor como ususario root, admin. y la verdad la aplicación lleva bastante tiempo en uso y nunca había dado problemas. Hoy al presentarse el error lo que hice fue subir a la cantidad de consultas, pero aún así después de un rato nuevamente hubo problemas.
Bien ahora me queda claro que las consultas son acumulativas en 60 minutos, pero ese tiempo es horario?? o correlativos??, me explico: desde las 8:00 a las 9:00??, o puede ser desde las 8:08 a las 9:08?? por ejemplo) , y que si pongo la condición en 0, entoces no hay limites???

Otra cosa, que herramienta existe para ver la cantidad de conexiones de un usuario a la BD??? me queda la duda de algún uso malicioso, dado que al momento de presentarse el error había solo un equipo conectado (al menos que los que yo sabía) Hace tiempo tenía instalado Mysql Front, pero lo he desintalado en una limpieza de mi equipo. Hay algo que me recomiendes??

Gracias Marcelo
  #5 (permalink)  
Antiguo 09/07/2008, 17:44
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: Ayuda con error 1226 MySql

Lo que me preguntas al principio ya lo especifiqué. Mira con atención:
Cita:
Eso implica que si en el lapso de una hora a contar desde el momento en que se loguea, realiza 10 consultas (SELECT, INSERT, DELETE, UPDATE, llamadas a procedures, por ejemplo), la llamada a una onceava será rechazada si la misma se produce dentro de los 60 minutos de esa hora. A partir del siguiente segundo a la hora el contador vuelve a cero y puede realizarla, hasta entonces no.
.
Sobre el tema de lospermisos, te sugiero que leas con atención el manual: Sintaxis de GRANT y REVOKE, donde textualmente dice:
Cita:
Las opciones MAX_QUERIES_PER_HOUR count, MAX_UPDATES_PER_HOUR count, y MAX_CONNECTIONS_PER_HOUR count limitan el número de consultas, actualizaciones, y logueos que puede realizar un usuario durante cualquier perído de una hora. Si count es 0 (por defecto), esto significa que no hay limitación para ese usuario.
De allí saqué y usé en mis bases la información.

Respecto a los usuarios y las conexiones, mi sugerencia es que descargues y uses el MySQL Administrator.
Esta aplicación te permite controlar el server y chequearlo en forma directa. Si bien no realiza estadísticas (para eso está el MSQL Monitor), te permitirá saber quienes están conectados y qué permisos tienen y qué están haciendo en ese instante.
Nota: Únicamente puede que vuelvan invisibles aquellos usuarios cuya conexión se hizo a través una aplicación que usara en el string de conexión la opción "Pooling=false", pero aún éstos aparecerían en el instante en que realizan alguna consulta.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 09/07/2008, 18:30
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años
Puntos: 2
Muchas Gracias. Ayuda con error 1226 MySql

Ok

Muchas gracias gnzsoloyo.

Has sido de gran ayuda

Marcelo
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 12:02.