【问题标题】:How to clone a remote mysql database to a local development machine?如何将远程 mysql 数据库克隆到本地开发机器?
【发布时间】:2012-12-13 23:22:36
【问题描述】:

我一直在使用一些远程服务器,并且厌倦了通过 ssh 隧道 (-l 3306:localhost:3306) 转发 MySQL 调用的延迟,所以我想找到一种方法来快速轻松地克隆远程(实时)数据库我的本地开发机器,但大多数在线资源来自一个支持 ssh 的服务器,到另一个,不是我想要的,将远程数据库克隆到我连接的机器。

【问题讨论】:

    标签: mysql ssh ssh-tunnel


    【解决方案1】:

    从你的开发机器连接一个远程端口转发到本地 MySQL 端口,默认 3306

    ssh server.address.com -R 3307:localhost:3306
    

    然后在服务器上,从那里,您可以使用默认值登录到远程服务器的数据库

    mysql
    

    命令。或者从那里登录到你的本地开发数据库,​​

    mysql --host=127.0.0.1 --port=3307
    

    然后,这会将远程服务器的 3307 端口从上述 ssh 隧道传送到本地 3306 端口。

    因此,您可以直接将mysqldump命令运行到本地mysql数据库。

    mysqldump --all-databases | mysql --host=127.0.0.1 --port=3307
    

    第一部分将所有可以使用的数据库转储到 stout 中,但您使用命令的后半部分将其直接通过管道传输到本地数据库。

    **仅供参考,我省略了所有登录信息,以使所有命令尽可能简单明了,同时尽我所能解释每一位,但对于实际操作,我使用直接

    ssh server.address.com -R 3307:localhost:3306 'mysqldump --all-databases -uroot | mysql --host=127.0.0.1 --port=3307 -uroot'
    

    命令。

    对我来说,这绝对是在本地克隆实时数据库以进行开发的最简单、最快和最好的方法。

    【讨论】:

      猜你喜欢
      • 2015-08-06
      • 2013-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-11
      • 2017-08-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多