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

Traspaso de datos entre servidores

Estas en el tema de Traspaso de datos entre servidores en el foro de Mysql en Foros del Web. Hola a todos. He hecho un script en php para volcar los datos de una tabla a una base de datos que está en otro ...
  #1 (permalink)  
Antiguo 03/03/2006, 11:51
Avatar de mariogl84  
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 433
Antigüedad: 21 años, 5 meses
Puntos: 20
Traspaso de datos entre servidores

Hola a todos.

He hecho un script en php para volcar los datos de una tabla a una base de datos que está en otro servidor. Lo que he hecho ha sido crear una conexión al MySQL local (donde se ejecuta el script) y otra al MySQL remoto. Hago un select de toda la tabla, y luego por cada registro hago un insert en el servidor remoto.

Este script tenía que transferir 3 tablas. Pues bien, una tabla tenía 3700000 registros y la tabla resultante sólo tiene 433000; otra tabla tenía 1500000 registros y la resultante sólo tiene 330000; y la tercera tenía 200000 registros y la resultante sólo tiene 2500.

¿Sabéis qué es lo que puedo estar haciendo mal? ¿Es muy burro hacer lo que estoy haciendo?

Gracias de antemano.
  #2 (permalink)  
Antiguo 03/03/2006, 12:02
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Yo haría esto:

1. Hacer un dump de las tablas del server 1 a un archivo.

# mysqldump -u user -p nombre_base tabla1 tabla2 tabla3 > archivo.sql

2. Importar las tablas en el server 2. Para esto entrar a la shell de mysql del server 2 y ejecutar:

mysql> source ruta/archivo.sql
  #3 (permalink)  
Antiguo 03/03/2006, 12:54
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 5 meses
Puntos: 5
Mira el problema que tienes, es que la forma de llevar tus datos de un servidor a otro no es eficiente, es buena idea pensar hacer uso de mysqldump, ahora lo mas probable que ocurra es que php tiene un tiempo maximo de ejecucion de un script, que si no me equivoco son 30 segundos, y la consulta de de mas de 3 millones y las inserciones lo mas probable es que tarde mas que eso, ahora lo ideal es hacer un dump de las tablas que quieres y lo importas en tu otro servidor, como te dice claudiovega, cya
__________________
"El Conocimiento es de todos, no solo de algunos"
  #4 (permalink)  
Antiguo 03/03/2006, 16:22
Avatar de uGe25  
Fecha de Ingreso: agosto-2005
Mensajes: 17
Antigüedad: 18 años, 8 meses
Puntos: 0
me meto por aqui para preguntar una kosika.. si se puede..

A mi el comando mysqldump bajo windows me da bastantes problemas usandolo con php.. a ver.. puedo ejecutarlo en la consola de DOS y me hace la copia al pelo, pero si ejecuto el comando desde php (tengo un apache2+mysql5+php5 en local) kon el tipico exec() no me saca nada... Ni diciendole donde esta el fichero mysqldump ni na d na.

Solo nezesito un script para sacar copias pulsando un simple boton.. al mas puro estilo del phpmyadmin pero sin tener ke usar esta herramienta. La misma salida salida quiero pero sin usar el phpmyadmin. Los clientes son cabezones y quieren un boton que casi te grabe el archivo en un DVD y se meta en una funda solo y de ahi volando al armario de copias xD

alguna solucion?
__________________
aCTioNSCRiPT RooLZ!
  #5 (permalink)  
Antiguo 03/03/2006, 16:26
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
En el foro de php hay un codigo que te respalda una bd completa, lo guarda en un archivo y luego lo comprime y permite que lo bajes a tu pc, busca en el foro y lo encontrarás.
  #6 (permalink)  
Antiguo 03/03/2006, 16:49
Avatar de uGe25  
Fecha de Ingreso: agosto-2005
Mensajes: 17
Antigüedad: 18 años, 8 meses
Puntos: 0
y lo hace si usar el mysqldump.. eso tengo ke verlo
__________________
aCTioNSCRiPT RooLZ!
  #7 (permalink)  
Antiguo 04/03/2006, 04:51
Avatar de mariogl84  
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 433
Antigüedad: 21 años, 5 meses
Puntos: 20
Gracias por las respuestas.

Debí decir en mi post que el proceso tiene que ser automático. Será un cron job que se ejecutará de madrugada y que tiene que realizar el volcado automáticamente, así que no puedo entrar en el servidor remoto e importar los datos, puesto que lo tiene que hacer todo el script.

Parece que el problema está en los tiempos máximos de ejecución, como decía deadlykyo. Los subiré a ver si por ahí puedo conseguirlo.

Suponía que el modo en que lo estaba haciendo no era nada eficiente, pero ahora mismo no se me ocurre otra manera.
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 07:35.