hmpaquito wrote:Carlos Mora wrote:Mi sugerencia es la misma: mysql.exe -u xx-p bbdd < tuarchivo.sql y metido como una tarea programada en un bat (usando lenguaje de windows)
La transferencia del .sql puede ser pesada, pero seguramente puedes comprimirla antes de transferirla con un ratio bastante alto, y descomprimirla en destino.
¿Con que frecuencia planeas actualizar?
¿Hay forma de hacer actualizaciones selectivas, cambiando solo lo nuevo?
Carlos,
Perdona mi extremada ignorancia. Te pido, por favor, un poco de paciencia.
A ver. Yo distingo entre la consola a) MySql.exe que tengo en mi ordenata Windows y el b) MySql consola que está en el server del VPS que mi tecnico me montó bajo ¿ Ubuntu ?, donde reside la bbdd y que es como trabajar en local para la bbdd, por lo que no hay flujo de datos ¿ Es asi ?
Asi, por lo que me comentas, b) seria la opcion mas rapida, si comprimimos previamente el .sql ¿ Es eso ?
Gracias.
con mysql.exe o mysql me refiero al programa que tienes cuando instalas mysql en algun sitio. mysqlD.exe o mysqld es el servicio de la base de datos (con D al ultimo) y mysql.exe o mysql (a secas en unix/linux) es la consola para ejecutar comandos. mysql.exe lo usaria para atacar a un servidor mysql que esté instalado en el propio windows, si el servidor (tal como me cuentas) es un ubuntu pues entonces hablamos de mysql en una consola. Te conectas al Ubuntu con ssh, si es desde windows usas el Putty.exe , y accedes a la linea de comandos (shell). Ahí ya puedes usar el comando mysql que te sugiero, y que yo creo que va a ir mas rápido.
Entonces si hablo de consola me refiero a Linux. Cualquier cosa hecha desde Windows será lenta por cuestiones de conexión. Tu solución está en el servidor, no le des mas vueltas.
Pero no me has contestado las preguntas para hacerme mejor idea de cual el el plan y la necesidad.
¿Con que frecuencia planeas actualizar?
¿Hay forma de hacer actualizaciones selectivas, cambiando solo lo nuevo?
Segun entiendo, lo mejor y mas rápido sería:
- Hacer un programa que lea todos los datos, determine la informacion a trasladar al MySql, y escriba todos los comandos SQL en un solo archivo.
- Al finalizar zippeo el archivo y lo copio al Ubuntu via SFTP, WebDav, o el método que dispongas.
- En el Ubuntu habrá un script metido en el cron del sistema que se ejecutará cada cierto tiempo (determina tu la frecuencia requerida) que se fijará si has
pasado un fichero nuevo, si lo encuentra lo descomprimirá y ejecutará un 'mysql -u usuario -p bbdd < <ficherodescomprimido.sql' . Al finalizar borra los fichero que ya no se requieren.
- Te tomas una Volt Dam
De todas maneras, cuenta un poco más de lo que quieres hacer, que tienes hecho y un ejemplo de lo que te falla.