Как я могу создать резервную копию базы данных mysql, которая работает на удаленном сервере, мне нужно сохранить резервный файл на локальном компьютере.
Как использовать дамп MySQL с удаленной машины
Ответ 1
Попробуйте с Mysqldump
#mysqldump --host=the.remotedatabase.com -u yourusername -p yourdatabasename > /User/backups/adump.sql
Ответ 2
У вас есть доступ к SSH?
Вы можете использовать эту команду в оболочке для резервного копирования всей базы данных:
mysqldump -u [username] -p[password] [databasename] > [filename.sql]
На самом деле это одна команда, за которой следует оператор >
, который говорит: "Сделайте вывод предыдущей команды и сохраните ее в этом файле".
Примечание. Отсутствие пробела между -p и паролем mysql не является опечаткой. Однако, если вы оставите флаг -p
, но фактический пароль пуст, вам будет предложено ввести пароль. Иногда рекомендуется сохранять пароли из истории bash.
Ответ 3
Никто не упоминает ничего о опции - одна транзакция. Люди должны использовать его по умолчанию для таблиц InnoDB для обеспечения согласованности данных. В этом случае:
mysqldump --single-transaction -h [remoteserver.com] -u [username] -p [password] [yourdatabase] > [dump_file.sql]
Это гарантирует, что дамп запускается в одной транзакции, изолированной от других, предотвращая резервное копирование частичной транзакции.
Например, подумайте, что у вас есть игровой сервер, где люди могут приобретать передачи со своими кредитами. Существует 2 операции против базы данных:
- Вычитайте сумму из своих кредитов
- Добавить экипировку в свой арсенал
Теперь, если дамп происходит между этими операциями, при следующем восстановлении резервной копии пользователь потеряет купленный элемент, потому что вторая операция не сбрасывается в файл дампа SQL.
Хотя это просто вариант, в основном нет большой причины, по которой вы не используете эту опцию с mysqldump.
Ответ 4
Этот раздел отображается на первой странице моего результата Google, поэтому здесь немного полезного совета для новых пользователей.
Вы также можете сбросить sql и gzip в одной строке:
mysqldump -u [username] -p[password] [database_name] | gzip > [filename.sql.gz]
Ответ 5
mysqldump -h [domain name/ip] -u [username] -p[password] [databasename] > [filename.sql]
Ответ 6
вы можете выбрать другой способ:
mysql -u [username] [databasename]
И выберите свой файл sql, например:
source mydumpdatabase.sql