我有一个由两个单独的服务器组成的托管环境:web-server 和 db server。Web 服务器只能通过 SSH 访问(当然还有端口 80)。DB 服务器无法从 Internet 访问,只能通过 Web 服务器访问。
网络服务器没有 mysqldump 并且硬盘上的空间不允许在网络服务器上进行数据库转储。
我想使用我的本地 mysqldump 并通过网络服务器将其连接到数据库服务器。我不确定如何让 bash 命令正常工作。我试过这个:
SSH 隧道
ssh -f -L 3312:localhost:3306 user@web-server -i ~/.ssh/key-file -c cipher -N
mysql转储
mysqldump -P 3312 -h 127.0.0.1 -u user -p database > /tmp/db.sql
我知道数据库服务器需要以某种方式包含在命令中,但我不确定如何以及在何处包含数据库服务器的 IP。