Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/07/2008, 17:13
Avatar de gnzsoloyo
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, 5 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)