通过 SSH 隧道进行 mysqldump

问题描述 投票:0回答:1

我的服务器设置如下:

  • webserver
    (网关机器,通过 SSH 从互联网访问)
  • dbserver
    (数据库服务器,无法从网络访问

我的目标是使用

mysqldump
通过网络将备份从
dbserver
拉到我的笔记本电脑。到目前为止,这个问题与这个问题重复,除了
webserver
确实没有安装了
mysqldump
,而且我没有安装它的权限。因此,我尝试在笔记本电脑上使用
mysqldump
从我没有 SSH 权限的网关后面的服务器中提取数据。

根据herehere的讨论,我正在尝试做这样的事情来设置隧道:

ssh -f -L 3306:dbserver:3306 user@webserver -N

随后:

mysqldump -P 3306 -h localhost -u dbuser -p db

但是我遇到了同样的麻烦这个人,并且不太确定隧道发生了什么或如何修复它(并且在我的笔记本电脑的主机文件中添加一个条目似乎并没有像以前那样修复它)为了他)。

ssh backup mysql tunneling
1个回答
0
投票

每天将数据库转储到网关计算机,然后从那里获取

#!/bin/sh
# Backup the mysql Databases
 for database in $(mysql -u b4ckup -pd1psh1t --host server.database.net -e "show databases" | awk '{print $1}' | grep -v Database)
do
        mysqldump -u user -p password --lock-tables=false --host server.database.net $database > /storage/backups/`date +\%Y-\%m-\%d`-`date +\%A`/server/$database.sql
done 
© www.soinside.com 2019 - 2024. All rights reserved.