我如何让本地 MySQL 数据库始终更新互联网上的镜像?
答案1
您需要设置 MySQL 复制。您可以在此处找到详细的文档:
http://dev.mysql.com/doc/refman/5.0/en/replication.html
我同意 Craig 的观点,但我在互联网上使用 MySQL 和 SSL 时遇到了问题。我实际上使用了 SSH 隧道,效果非常好。我使用一个名为 autossh 的包装器(http://www.harding.motd.ca/autossh/) 来管理中断的连接。
如果您有兴趣,这里是我使用的命令(请注意,您只需要在隧道的一端进行设置,因为此连接会创建双向通信通道):
# /usr/bin/ssh -2 -N -o ServerAliveInterval=15 -i /root/.ssh/id_rsa -N -R \
13306:127.0.0.1:3306 -L 13306:127.0.0.1:3306 root@<REMOTEIP>
这样做的目的是在两端的端口 13306 上创建一个隧道,连接到另一端运行的 MySQL 实例。要设置复制,请将“主”服务器指向端口 13306 上的 127.0.0.1。要使用 autossh 包装它,请使用以下命令:
# /usr/local/bin/autossh -2 -fN -M 20000 -o ServerAliveInterval=15\
-i /root/.ssh/id_rsa -N -R 13306:127.0.0.1:3306 -L 13306:127.0.0.1:3306 root@<REMOTEIP>
祝你好运!
答案2
您可以设置 MySQL 以通过 SSL 执行复制。我们通过 SSL 将一台服务器从中西部复制到西海岸,每天可轻松复制 15 万多条记录。但是,这需要访问从属服务器(问题中的镜像)的配置。
答案3
我认为你正在寻找 MySQL 复制