Подтвердить что ты не робот

Mysqldump с удаленного хоста

Можно ли удалять базу данных с удаленного хоста через ssh-соединение и иметь файл резервной копии на моем локальном компьютере.

Если да, то как это можно достичь?

Я предполагаю, что это будет какая-то комбинация выхода трубопровода из ssh в дамп или наоборот, но не могу понять это.

4b9b3361

Ответ 1

Это дамп, сжатие и поток через ssh в ваш локальный файл

ssh -l user remoteserver "mysqldump -mysqldumpoptions database | gzip -3 -c" > /localpath/localfile.sql.gz 

Ответ 2

Начиная с решения @MichelFeldheim, я бы использовал:

$ ssh [email protected] "mysqldump -u user -p database | gzip -c" | gunzip > db.sql

Ответ 3

ssh -f [email protected] -L 3306:server.com:3306 -N

то

mysqldump -hlocalhost > backup.sql

предполагая, что вы также не используете mysql локально. Если вы это сделаете, вы можете настроить порт на что-то еще.

Ответ 4

Я создал script, чтобы упростить автоматизацию команд mysqldump на удаленных хостах с помощью ответа, предоставленного Michel Feldheim в качестве отправной точки:

mysqldump-remote

script позволяет вам извлекать дамп базы данных с удаленного узла с помощью SSH или без него, а также при необходимости используя файл .env, содержащий переменные среды.

Я планирую использовать script для автоматического резервного копирования базы данных. Не стесняйтесь создавать проблемы/внести - надеюсь, что это также помогает другим!