我需要在同一个mysql服务器上同步放置两个数据库。 此同步不用于复制,但对于统计信息,第二个基础上的信息不一定是“新鲜”。
目前,我每个人都在做一个简单的mysqldump,这可能是一个解决方案,但好吧,它很脏。
所以我想到了使用mysql复制,并遇到了两个主要问题: - 如果两个数据库在同一台服务器上,我无法弄清楚如何使它工作。 - 我不知道如何每天只在精确的时间执行一次复制。
我在Windows上使用mysql 5.1.49(好吧,仅用于我的测试,生产服务器在linux上),这是我在my.ini文件中尝试的内容
# Replication
server-id = 1
report-host = master-is-slave-host
log-bin = "d:/localhost-binlog"
log-error = "d:/localhost-errorlog"
relay-log = "d:/localhost-relaylog"
binlog-do-db = dev_nbe_msg_metier
replicate-rewrite-db = base1->base2
replicate-same-server-id = 1
日志工作正常,不幸的是,这是我能得到的,我尝试了几种选择,但无法使其正常工作。
如果有人有解决方案或更好的方法来进行同步,我会很高兴听到它。
答案 0 :(得分:2)
MySQL中的开箱即用复制假设每个涉及的服务器都是服务器;)
这意味着您只能使用两个MySQL实例在同一台物理计算机上的数据库之间进行复制,每个实例都有自己的服务器标识。
令人高兴的是,你几乎可以随意暂停/重启复制,所以每晚你都会在奴隶机器上运行:
start slave;
...让它运行一段时间,然后当它再次开始生产时,运行:
stop slave;
如果你感觉聪明,你可以使用UNTIL
的{{1}}条款(参见here)来避免不得不停止奴隶,并且一旦你做到了,就让它自动发生赶上了。
还有其他解决方案,但有了OOTB功能,这可能是最佳选择。
答案 1 :(得分:0)
您可以使用Schema and Data Comparison tools中的dbForge Studio for MySQL同步两个数据库。
还有独立的工具: