Tengo dos bases de datos MySQL idénticas, una en un servidor interno y la otra en un servidor de alojamiento web. Quiero actualizar la base de datos en el servidor web cada día con la base de datos en el servidor interno. ¿Hay alguna manera de automatizar este proceso? ¿Cómo puedo hacer esto manualmente? Si debo hacerlo manualmente, ¿me exige obtener un volcado de SQL de la base de datos en el servidor interno y luego importarlo en la base de datos en el servidor web? Alguien puede aconsejar por favor.
19
Respuestas:
Tienes pocas opciones:
Configure la replicación MySQL entre los servidores. Su servidor interno puede actuar como maestro y el servidor de alojamiento web como esclavo. Cualquier actualización realizada en el maestro se replicará al esclavo de inmediato (suponiendo una conexión que funcione). Esta será probablemente la opción más fácil y efectiva para elegir. Para usar la replicación, su base de datos interna debería ser accesible a través de la red desde el servidor web.
Puede leer más sobre la replicación aquí .
Cada día, puede realizar un mysqldump en el servidor interno, cargar el archivo de volcado en el servidor web e importar los datos. Dado que este es un volcado completo, si tiene una base de datos muy grande, esto podría no ser factible. Si lo desea, este procedimiento podría ser programado para evitar tener que hacerlo manualmente.
Puede configurar el registro binario en el servidor interno. Luego puede enviar los registros binarios al servidor web y aplicarlos a la base de datos, reproduciendo efectivamente todas las transacciones que ocurrieron ese día en el servidor web. En efecto, esto es lo que sucede con la replicación de todos modos, por lo que casi siempre iría con la configuración de replicación en lugar de esta opción.
Si no hay conexión entre las dos bases de datos, tomar mysqldumps cada día será el camino más fácil.
fuente
También puede usar opciones como symmetricDS que pueden ayudar a sincronizar dos bases de datos. Con esto, podrá seleccionar las tablas que deben sincronizarse para ahorrar ancho de banda de Internet. Esto también sería adecuado en el escenario cuando hay falta de conectividad entre dos ubicaciones.
fuente
Cómo configurar la replicación de la base de datos con MariaDB: https://www.techrepublic.com/article/how-to-set-up-database-replication-with-mariadb/
fuente
Podrías usar Navicat . Principalmente es un administrador de base de datos, pero tiene funciones de transferencia y sincronización de datos, así como un programador para que pueda automatizar. No es gratuito, pero hay una prueba de 30 funciones completas.
fuente