Создание бекапа MySQL/MariaDB удаленно через SSH в Unix/Linux

Создание бекапа MySQL/MariaDB удаленно через SSH в Unix/Linux

В своей теме «Создание бекапа MySQL/MariaDB удаленно через SSH в Unix/Linux» хочу рассказать как можно сдеалать бекап баз данных MySQL/MariaDB удаленно через SSH в Unix/Linux.

Вопрос:
Я хочу создать резервную копию баз данных MySQL (MariaDB) с удаленного сервере. Есть ли способ для резервного копирования базы данных (MariaDB) с удаленного сервера MySQL  с использованием SSH?

Ответ:
mysqldump это утилита командной строки для резервного копирования базы данных MySQL (MariaDB). Для того, чтобы создать резервную копию БД c удаленного сервера, вы можете отправить команду MySQLDump удаленно через SSH с использование «трубы» для вывода обратно на локальный компьютер. Для повышения эффективности, выход mysqldump можно сжат:

sh
1 lines
$ ssh -C your_remote_user@your_remote_host_OR_IP mysqldump -uYOUR-MYSQL-PASSWORD-FOR-USER -pYOUR-MYSQL-PASSWORD-FOR-USER YOUR_DB YOUR_DB | gzip -c | cat > ~/my_remote_backup.sql.gz

Кроме того, вы можете использовать команду SSH на удаленном хосте и перенаправить вывод ( создание дампа БД на другой сервер).

Вот команда:

sh
1 lines
# mysqldump -uYOUR-MYSQL-USER -pYOUR-MYSQL-PASSWORD-FOR-USER YOUR_DB | gzip -c | ssh your_local_username@your_local_host 'cat > ~/my_remote_backup.sql.gz'

Я часто добавляю на такие большие команды ( чтобы постоянно не вводить их, алиасы). И сейчас покажу как это можно сделать:

sh
1 lines
#·vim ~/.bashrc

И добавляю следующий код:

sh
4 lines
[...]
#Создание бекапа MySQL/MariaDB удаленно через SSH в Unix/Linux
alias create-mysql-backup-remote="mysqldump -uYOUR-MYSQL-USER -pYOUR-MYSQL-PASSWORD-FOR-USER YOUR_DB | gzip -c | ssh your_local_username@your_local_host 'cat > ~/my_remote_backup.sql.gz'"
[...]

После чего, стоит перезагрузить данный файл, чтобы вступили все изменения:

sh
1 lines
# source·~/.bashrc

Если не выдало никаких ошибок, то все хорошо и можно использовать данный алиас на команду. Это куда проще чем прописывать каждый раз данную команду.

PS: Будет работать в том случае, если у вас настроено подключение по SSH с использованием ключа. Если без, то будет запрашивать пароль от сервера.

А на этом все, статья «Создание бекапа MySQL/MariaDB удаленно через SSH в Unix/Linux» подошла к завершению.

Было ли это полезно?

0 / 0