Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将远程mysql数据库克隆到本地开发机器?_Mysql_Ssh_Ssh Tunnel - Fatal编程技术网

如何将远程mysql数据库克隆到本地开发机器?

如何将远程mysql数据库克隆到本地开发机器?,mysql,ssh,ssh-tunnel,Mysql,Ssh,Ssh Tunnel,我一直在使用一些远程服务器,厌倦了通过ssh隧道(-l 3306:localhost:3306)延迟转发MySQL调用,因此我想找到一种方法来快速轻松地克隆本地开发人员机器上的远程(实时)数据库,但大多数在线资源都是从一个支持ssh的服务器到另一个服务器,而不是我想要的,将远程数据库克隆到我连接的机器。使用远程端口从您的开发人员机器连接到本地MySQL端口,默认值3306 ssh server.address.com -R 3307:localhost:3306 然后在服务器上,从那里,您可以

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

使用远程端口从您的开发人员机器连接到本地MySQL端口,默认值3306

ssh server.address.com -R 3307:localhost:3306
然后在服务器上,从那里,您可以使用默认值登录到远程服务器的数据库

mysql
指挥部。或者从那里登录到本地开发人员数据库

mysql --host=127.0.0.1 --port=3307
然后,通过隧道将3307端口从远程服务器传输到您的本地3306端口

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

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'
指挥部

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