我有2个MySql数据库,我想让它们保持同步。问题是我无权访问运行“主”数据库的机器,我只有权阅读。
所以我创建了一个辅助数据库,我想创建一个cron作业,以便每天在12:00(例如)与主设备同步。
最好的方法是什么?
答案 0 :(得分:6)
使用Maatkit工具包中的mk-table-sync。
来自文档:
Make slave1 have the same data as its replication master:
mk-table-sync --execute --sync-to-master slave1
除了能够自动使表同步之外,它还有一个--dry-run参数,它只输出手动执行它所需的SQL语句。这非常适合说服自己为mk-table-sync选择了正确的命令行参数,并且当它真正同步表时它将正常工作。
答案 1 :(得分:0)
最简单但可能是开销最大的一个,只需执行mysql-dump并将数据重新导入第二个数据库。
答案 2 :(得分:0)
我的解决方案是创建一个python脚本来重新导入所有数据。无论如何我需要为django-app更改表名。