Tengo una consulta. Tengo dos tablas en dos servidores diferentes. Ambas tienen la misma estructura. La tabla maestra en un servidor se actualiza diariamente, por lo que quiero un trabajo cron o un cron de script php para actualizar la segunda tabla esclava en un servidor diferente. He visto muchas secuencias de comandos pero ninguno resolvió mis requisitos.mysql sincronización de dos tablas de 2 bases de datos
Respuesta
No puedo creer que no hayas encontrado una secuencia de comandos adecuada para hacer esto. Dependiendo del ancho de banda de servidor a servidor y la conectividad, y el tamaño de datos de la tabla, se puede:
transferir directamente toda la tabla:
mysqldump [options] sourcedatabase tablename \ | mysql [options] --host remoteserver --user username ...
transferencia de la mesa con la compresión de MySQL
# same as above, mysql has the "-C" flag
transferencia mediante cifrado y compresión SSH; MySQL se ejecuta de forma remota
mysqldump [options] sourcedatabase tablename \ | ssh -C [email protected] 'mysql [options]'
transferencia usando el archivo SQL intermedio y rsync para transferir sólo modificaciones
mysqldump [options] sourcedb tbl > dump.sql rsync [-z] dump.sql [email protected]:/path/to/remote/dump.sql ssh [email protected] "mysql [options] < /path/to/remote/dump.sql"
la tabla son todos simples anteriormente sobrescribe, los datos remota se pierde y se sustituye por el maestro dupdo. El mysqldump-plus-rsync-plus-ssh se ejecuta en un tiempo aproximadamente proporcional a las modificaciones, lo que significa que si tiene un volcado de SQL de 10 GB y agrega una docena de INSERTOS, la etapa de transferencia necesitará como mucho un par de segundos para sincronizar el dos archivos SQL.
Para optimizar también la etapa de inserción, puede optar por la replicación completa de MySQL o necesitará una forma de identificar las operaciones en la tabla para replicarlas manualmente en el momento de la sincronización. Esto puede requerir alteraciones en la estructura de la tabla, p. agregando columnas "last-synced-on" y "needs-removing", o incluso introducción de tablas auxiliares.
Puede usar una solución simple: Data Synchronization tool en dbForge Studio for MySQL.
- Cree un proyecto de comparación de datos que compare y sincronice dos tablas en dos servidores MySQL diferentes.
- Ejecute la aplicación en el modo de línea de comandos utilizando el documento de proyecto de Comparación de datos creado (archivo * .dcomp).
- 1. bases de datos de sincronización MySQL SQLite
- 2. Sincronización entre dos bases de datos
- 3. Sincronizar el esquema de dos bases de datos en MySQL
- 4. MySQL: ¿Hay muchas tablas o muchas bases de datos?
- 5. MySQL: ¿se une entre tablas en 2 bases de datos diferentes?
- 6. ¿Tablas de dos bases de datos diferentes en un DBML?
- 7. Seleccionar dos o varias tablas de bases de datos diferentes
- 8. ¿Cómo puedo transferir datos entre 2 bases de datos MySQL?
- 9. mySQL selecciona diferencias entre dos tablas en bases de datos diferentes
- 10. ¿Cómo se unió a 2 tablas en 2 bases de datos diferentes?
- 11. Consultar datos uniendo dos tablas en dos bases de datos en servidores diferentes
- 12. ¿Cuántas bases de datos puede manejar MySQL?
- 13. MySQL - Unir 2 tablas
- 14. ¿Bases de datos múltiples o muchas tablas?
- 15. ¿Cómo comparar dos bases de datos?
- 16. Cómo diferir dos bases de datos usando MySQL Workbench?
- 17. Sincronización de bases de datos en línea/fuera de línea - MySQL/PHP
- 18. Conéctese a dos bases de datos
- 19. ¿Qué tablas de bases de datos requiere Apache Shiro?
- 20. Hacer una unión más de 2 tablas en diferentes bases de datos usando Hibernate
- 21. Cómo mostrar todas las tablas de múltiples bases de datos
- 22. Cómo mover datos entre 2 tablas/con columnas diferentes en bases de datos diferentes
- 23. [MySQL]: ELIMINAR filas de dos tablas dependientes
- 24. ¿Comparar estructuras de dos bases de datos?
- 25. Sincronización unidireccional de dos jerarquías
- 26. columnas de dos tablas de bases de datos relacionadas en uno ASP.NET GridView con EntityDataSource
- 27. Seleccionar e insertar en varias bases de datos con MySQL
- 28. Agregar relación de clave externa entre dos bases de datos
- 29. Sincronización de base de datos unidireccional
- 30. Comparar dos bases de datos SQL
¿Actualizado de qué manera? Estructura, Datos, ... ¿cómo debería actualizarse? ¿Por qué muchos guiones no resolvieron sus necesidades? Cuáles son sus requisitos –
su mysql ... no se trata de la estructura ... la información que sigue aumentando ... quiero un trabajo de php cron para hacerlo ... pero no sé cómo hacerlo de la manera más simple y más optimizada. No quiero seleccionar los datos de la tabla maestra y ponerlos en bucle hasta que se inserten en la tabla esclava. Eso lleva demasiado tiempo. – user1587161
, por lo que agradecería si iam sugiriera alguna manera optimizada de hacerlo. – user1587161