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

Eliminar Registros temporales MySQL ¿?

Estas en el tema de Eliminar Registros temporales MySQL ¿? en el foro de Bases de Datos General en Foros del Web. Hola, tengo un problemilla que no acierto a resolver, explico un poco: Es para un sistema de usuarios, uso PHP y MySQL, ahora he implementado ...
  #1 (permalink)  
Antiguo 26/12/2004, 09:41
Avatar de Covids0020  
Fecha de Ingreso: septiembre-2003
Ubicación: España
Mensajes: 217
Antigüedad: 20 años, 7 meses
Puntos: 1
Eliminar Registros temporales MySQL ¿?

Hola, tengo un problemilla que no acierto a resolver, explico un poco:

Es para un sistema de usuarios, uso PHP y MySQL, ahora he implementado un registro de usuarios con activación por mail (como no gg).
Cuando el usuario se registra lo ingreso en una tabla de usuarios temporales, en espera de su confirmación, y he aquí el problema:
Me interesaría eliminar esos usuarios temporales cada x tiempo si no activan su cuenta.

No me serviría nada desde PHP ya que tendría que esperar que se ejecutará algún script o gestionar yo esa limpieza. Y por ejemplo, si no tienes muchas visitas no es plan y tampoco es que saturen esa tabla en caso contrario.

He pensado en intentar limpiarla con cada nuevo registro que se intentará insertar, para un límite de 1 día por ejemplo no estaría mal, pero si es mayor ese límite, y mi inetnción es borrarlos después del límite, por ejemplo 1 semana, en una semana no se borraría nada y te podrían entrar miles de usuarios temporales.... me explico, no?.
Es decir, con límite de un día, podría estar bien, pero también te puede pasar como con una semana si van a joder, por ejemplo, el caso es que no es plan.
También podría restringir esos ingresos por IP's, pero están los proxys, etc... o sea, que tampoco es plan , en definitiva, todo estas soluciones son cutrecillas.

¿Hay alguna forma de gestionarlo desde MySQL?
¿Algún tipo de tarea programa? (Es un hosting compartido de pago, es decir, no tengo acceso al server).

En fin, pos eso es lo que hay, seguro que hay alguna forma y es muy sencilla, pero como decía, solo le pego un poco al PHP y consultas medio básicas a MySQL.

Un saludo y gracias de antemano.
__________________
"La sabiduría comienza donde acaba el conocimiento". Yaris.
http://www.culturadigital.org
  #2 (permalink)  
Antiguo 27/12/2004, 02:04
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Que yo sepa, mysql no tiene ningún sistema para establecer tareas programadas. Por otro lado, mira lo que te ofrece el hosting, pues la mayoría de ellos ahora te dan la posibilidad de programar tareas.
Si no tienes esa posibilidad, la única forma que tienes es crear un script que se ejecute cuando los usuarios entren a tus páginas para que borre todos los registros que tengan una cierta antigüedad.
La otra forma es manual, que no creo que te interese .
Un saludo.
__________________
Estoy contagiado de Generación-I
  #3 (permalink)  
Antiguo 03/01/2005, 13:03
Avatar de Covids0020  
Fecha de Ingreso: septiembre-2003
Ubicación: España
Mensajes: 217
Antigüedad: 20 años, 7 meses
Puntos: 1
Ups, sorry por el retraso, bueno sí, he optado por hacerlo por script... mmm, no quería pero es que eso, no veo como puedo hacerlo de otra forma. Con cada ingreso un DELETE y ala XD.
Muchas gracias, eh?

Por cierto, ggg, supongo que sobra decir que no es para petar ninguna DB ni nada por el estilo, pero sabeis alguna forma de invertir la funcion password() de MySQL??.
Creo que no hay manera, si no es pegándole a los algoritmos y eso, no? ggg, o sea, a mano, pero lo necesitaría y me explico.

Tenía mi DB de usuarios, he cambiado algo el sistema y le aplico otra función de encriptación entre otras caseras XD, el caso es que ahora en esta DB los users tienen sus passwords originales encriptados solo con password() de MySQL y no puedo cambiarlos porque si los volviera a encriptar con mi nuevo sistema no van a salir, obvio, no?? XD, se encriptaría la cadena generada con password().

No sé si me explico... ummm, intuyo que hay alguna manera... please, espero respuestas, ok?.

..sigo en ello.
__________________
"La sabiduría comienza donde acaba el conocimiento". Yaris.
http://www.culturadigital.org

Última edición por Covids0020; 03/01/2005 a las 13:09
  #4 (permalink)  
Antiguo 03/01/2005, 16:50
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Hola Covids0020
como mencionaron post arriba seria mejor que uses tareas programadas si estas en windows o los cron jobs, si estas en liinux, esto te permite ejecutar un script cada cierto tiempo de manera automática, segun tu definas, ya sea cada hora, cada dia o cada semana, etc.
En la actulidad la mayoria de hostings cuentan con ese servicio (los decentes )

Saludos!
  #5 (permalink)  
Antiguo 04/01/2005, 17:24
Avatar de Covids0020  
Fecha de Ingreso: septiembre-2003
Ubicación: España
Mensajes: 217
Antigüedad: 20 años, 7 meses
Puntos: 1
Pues resulta que ayer estuve mirando eso, estoy en Sync y he visto en el panel de Control la opción de tareas programadas, parece que sí que es posible y solo debo insertar un comando...ejemmm, y aquí viene el lio.
El server es Linux, y supongo que tendré que aprender o buscar algo sobre esto porque no tengo ni papa, he usado Linux siempre en entornos gráficos muy Windows , es decir, de línea de comandos nada de nada.
Luego... umm, me extraña algo, y es que, también supongo, que eso debe estar restringido, porque no es plan que cualquier cliente puede meter comandos ahí a bola... no sé.
Bueno, me pregunto si lo mismo solo el comando MySQL en modo consola, servirá para eso?.

En fin, muchas gracias, como siempre, y a ver que veo por ahí.
__________________
"La sabiduría comienza donde acaba el conocimiento". Yaris.
http://www.culturadigital.org

Última edición por Covids0020; 04/01/2005 a las 17:26
  #6 (permalink)  
Antiguo 05/01/2005, 01:51
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Lo que tienes que hacer es un script e indicar en las tareas programadas que se ejecute ese script.
Si tienes dudas de como puedes usar esas tareas programadas, habla con tu proveedor para que te cuente como hacerlo en particular en tu sitio.
Un saludo.
__________________
Estoy contagiado de Generación-I
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:53.