Sincronizar Base de datos MySql local y remota usando terminal

Hace algún tiempo tuve la necesidad de hacer un respaldo periódico de un base de datos MySql que se encontraba en un servidor remoto, sería un poco molesto tener que hacerlo manualmente así empece a averiguar alguna forma de hacerlo de manera automática, a continuación algunas formas que encontré:

REPLICATION

Replication parece ser la manera correcta para hacer una sincronización de base de datos, replication es una sentencia de el Lenguaje MySql de manera que podamos replicar una base de datos a otra, por desgracia esta no fue de utilidad por que mis permisos de acceso a la base de datos no era suficientes para utilizar esa sentencia.

Si cuentas con los permisos necesarios para utilizar replication en MySql deberías hacer tu sincronización de esta manera:

http://aciddrop.com/2008/01/10/step-by-step-how-to-setup-mysql-database-replication/

https://www.digitalocean.com/community/tutorials/how-to-set-up-master-slave-replication-in-mysql

PT-TABLE-SYNC

Esta es una herramienta que sincroniza tablas MySql, realmente no la he probado pero parece una buena alternativa para hacer una sincronización.

Aquí en link:

https://www.percona.com/doc/percona-toolkit/2.1/pt-table-sync.html

Script PHP

Lo que fue de utilidad para mi fue un script PHP que me encontré en un blog, ahora no recuerdo el nombre. El script es muy sencillo hace uso de SSH para conectarse a un servidor remoto entonces ejecuta un sentencia SQL que imprime toda la base de datos y después ejecuta otro comando para guardarlo en local, el script también hacerlo tanto copia de servidor a local como local a servidor.

Importante: Es necesario ejecutar el script cada vez que se requiera la sincronización, para hacerlo de manera periódica puedes utilizar un CRON.

Codigo: https://github.com/isidro-amv/mysql-sync