我的服务器设置如下:
webserver
(网关机器,可通过SSH从Internet访问)dbserver
(数据库服务器,无法从网络访问)我的目标是使用mysqldump
通过网络将备份从dbserver
提取到我的笔记本电脑。到目前为止,问题是this question,的重复,除了 webserver
不安装了mysqldump
,而我无权安装它。所以我试图在我的笔记本电脑上使用mysqldump
从我没有SSH权限的网关后面的服务器中取出。
在讨论here和here之后,我正在尝试做这样的事情来设置隧道:
ssh -f -L 3306:dbserver:3306 user@webserver -N
接下来是:
mysqldump -P 3306 -h localhost -u dbuser -p db
但我遇到了this person所遇到的同样的麻烦,并且我不太确定隧道是怎么回事或如何修复它(并且在我的笔记本电脑的hosts文件中添加一个条目似乎无法修复它就像它为他做的那样)。
答案 0 :(得分:1)
每天将数据库转储到网关机器,然后从那里获取
#!/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