Мне нужно знать, как я могу периодически создавать резервные копии своих баз данных MySQL и загружать резервные копии на мой локальный сервер. Я использую navicat, и у него есть простой интерфейс резервного копирования и средство расписания задач, но он создает резервную копию базы данных и сохраняет резервную копию на самом сервере. Я хотел бы иметь способ загружать резервные копии, когда-то сделанные в мою локальную систему, а не хранить их на том же сервере, что и база данных.
Умный ход - если у вас есть локальный сервер Linux, ssh / scp, общие ключи и mysqldump - очевидный путь.
Даже если ваш локальный сервер резервного копирования представляет собой окно Windows, это не должно быть слишком сложно.
Если резервные копии уже сделаны на сервере (?), То все, что вам нужно, это скопировать их каждую ночь, если, конечно, они огромны, и вы хотите делать дифференциальные резервные копии, что немного сложнее с SQL.
Как отмечали другие, вам нужно будет установить некоторое программное обеспечение на машине MySQL для создания этих резервных копий. Navicat - это просто клиент - он не может запускать резервное копирование по расписанию на сервере.
Существует множество программ, которые могут сделать это за вас - некоторые из них создают резервные копии непосредственно из базы данных MySQL.
Бесплатное решение - создать резервную копию своей базы данных. Это во многом зависит от вашей операционной системы.
Linux - создайте сценарий оболочки для выполнения mysqldump на базе данных, которую вы хотите создать, а затем отправьте эту резервную копию на свой домашний компьютер через scp, ftp или по электронной почте (если у вас дома нет инфраструктуры ssh и ftp).
Windows - создайте запланированное задание для резервного копирования базы данных mysql в общий каталог или настройте сценарий командной строки для резервного копирования базы данных и электронной почты, ftp или scp на локальный компьютер.
Если у вас установлен PHP на сервере, вы можете использовать следующие инструкции для любой ОС:
http://www.sematopia.com/?p=61
Есть много способов снять шкуру с этой кошки!
Я бы установил сервер rsync на удаленном хосте.
Если это внутренняя сеть, достаточно простого rsync с паролем.
Если он проходит через общедоступную ссылку, либо через ssh (с аутентификацией с открытым ключом), либо через OpenVPN с удаленным сервером rsync, прослушивающим только защищенные IP-адреса.
Если вы можете, вы можете установить Backupninja он сбрасывает и может отправить его на другой хост через rsync, scp и ftp .. Он также будет отправлять подробные отчеты по электронной почте.
Вы также можете выполнять резервное копирование с помощью команды mysqldump локально и передавать выходные данные в файл. Это не настоящая двоичная копия данных, но это копия всех данных в таблице.
У меня есть задание cron, которое сбрасывает базы данных с помощью mysqldump в каталог, резервный копией которого является TSM. Если у вас уже есть хорошая система сетевого резервного копирования, я бы посоветовал как-то с ней связать.
Если нет, я бы выбрал rsync + mysqldump. Вы можете настроить mysqldump для дампа в каталог, а затем запустить rsync, чтобы переместить дамп на другой сервер.