情况是这样的:现在有一台运行中的公网mysql。基于它的一个web应用很慢,用户体验很差,而且在异地通过navicat操作它,也很慢,不是mysql的性能问题:我通过ssh登录到这个linux然后登录到mysql操作就很快。所以想把这台公网上的mysql数据及web应用迁移到内网。但是呢,有时候需要在异地比如公交上查询这些数据,不能直接在内网的网关上做3306的映射,也就是将内网mysql直接暴露在公网,所以目前是这样想的:内网的mysql供增删改查用,然后每晚10点将内网的mysql数据同步到公网的mysql。
     因为不能将内网mysql的3306在网关上做映射,所以只能是内网上的mysql向公网的上的mysql发起请求:“兄弟,现在到我该把数据同步给你了的时间了,咱俩做好数据同步的准备吧”我在网上找了一个解决方案:通过shell脚本将内网mysql的数据库文件tar压缩以后通过scp拷贝到公网linux上,然解压覆盖公网mysq下的原有数据文件。但是这个是全拷贝,目前数据文件有20M,scp拷贝过去需要30分钟的时间,等到以后数据变多以后,这个scp拷贝数据文件的方法就很痛苦了。
  各位大虾  谈谈自己的解决方案吧,O(∩_∩)O谢谢

解决方案 »

  1.   

    如果这两个机器不可以直接同步  则只能通过ftp中转
      

  2.   


    通过SCP拷贝数据文件和使用FTP 是一样的
      

  3.   


    公网、内网是两种Internet的接入方式。  
    内网接入方式:上网的计算机得到的IP地址是Inetnet上的保留地址,保留地址有如下3种形式:  
    10.x.x.x  
    172.16.x.x至172.31.x.x  
    192.168.x.x  
    内网的计算机以NAT(网络地址转换)协议,通过一个公共的网关访问Internet。内网的计算机可向Internet上的其他计算机发送连接请求,但Internet上其他的计算机无法向内网的计算机发送连接请求。  
    公网接入方式:上网的计算机得到的IP地址是Inetnet上的非保留地址。  
    公网的计算机和Internet上的其他计算机可随意互相访问。