这是我在这里的第一个问题,英语不是我的母语,但我会尽力解释。
我有一个主 MySQL 服务器,在我的提供商基础设施中运行一个公共 IP 地址,我想在我的办公室运行一个本地 MySQL 从服务器,它将复制所有数据以用于测试目的。
设置复制工作完美,我创建了一个 SSH 隧道让我的从属从主读取二进制日志,这里一切都很好。
我的问题是从主人那里设置数据。通常,当我想将数据从主机加载到同一网络上的任何从机时,我会在主机上运行以下命令:
mysqldump 'master' --master-data=1 | mysql 'slave'
但是在这里我不能为从属设备提供任何 IP,因为它位于我办公室的一系列 NAT 路由器后面......
有没有人有解决方案,知道我无法阻止master并且上面有大约50GB的数据。如果您有任何其他解决方案来进行从主设备到从设备的“热”数据传输,我也很感兴趣。
提前谢谢你。
假设你可以 ssh 到主人,怎么样,从奴隶。
ssh master 'mysqldump \'master\' --master-data=1' | mysql 'slave'
这将在主服务器上运行转储命令,但在本地重新加载。
为什么您不只是将其转发到文件并稍后通过
scp
or传输rsync
?在奴隶上
或者,
mysqldump
在从属服务器上运行命令,而不是在主服务器上运行。如果没有上述错误,它可能会更好地工作。提示:也许您应该转储所有数据库,而不仅仅是一个?