Sincronice dos bases de datos MySQL en dos ubicaciones diferentes

19

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.

ry12
fuente
Puede consultar la respuesta existente publicada aquí en StackOverflow stackoverflow.com/questions/52583/…
Mahesh Patil
aproximadamente # 2 si hago un volcado completo desde el interno e importo en la producción, sobrescribiría la base de datos en línea, quiero decir que tengo compradores en línea en la base de datos alojada en la web y quiero migrar las compras de la base de datos interna en vivo, ¿puede aclarar BTW qué hará? ¿Qué pasaría con los aumentos automáticos entre dos si ambos reservaran la misma identificación?
shareef

Respuestas:

20

Tienes pocas opciones:

  1. 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í .

  2. 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.

  3. 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.

Matt Healy
fuente
aproximadamente # 2 si hago un volcado completo desde el interno e importo en la producción, sobrescribiría la base de datos en línea, quiero decir que tengo compradores en línea en la base de datos alojada en la web y quiero migrar las compras de la base de datos interna en vivo, ¿puede aclarar BTW qué hará? ¿Qué pasaría con los aumentos automáticos entre dos si ambos reservaran la misma identificación?
shareef
4

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.

Siva Karthikeyan
fuente
2

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/

Dylan B
fuente
1
Bienvenido a DBA.SE. Agradecemos su contribución / participación. Sin embargo, la comunidad espera cierta calidad en las respuestas publicadas. Por favor considere leer el siguiente artículo: ¿Cómo escribo una buena respuesta? (Centro de ayuda) En la sección de responder a la pregunta hay una breve frase que dice: Se anima enlaces a recursos externos, pero por favor, añadir contexto en torno a la relación por lo que sus compañeros de los usuarios tendrán una idea de lo que es y por qué está ahí
John aka hot2use
0

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.

Josh A.
fuente