Как использовать дамп MySQL с удаленной машины

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

64 голоса | спросил Harsha 9 FriEurope/Moscow2011-12-09T14:24:19+04:00Europe/Moscow12bEurope/MoscowFri, 09 Dec 2011 14:24:19 +0400 2011, 14:24:19

7 ответов


0

Попробуйте с помощью Mysqldump

#mysqldump --host=the.remotedatabase.com -u yourusername -p yourdatabasename > /User/backups/adump.sql
ответил CloudyMarble 9 FriEurope/Moscow2011-12-09T14:27:15+04:00Europe/Moscow12bEurope/MoscowFri, 09 Dec 2011 14:27:15 +0400 2011, 14:27:15
0

У вас есть доступ к SSH?

Вы можете использовать эту команду в оболочке для резервного копирования всей базы данных:

mysqldump -u [username] -p[password] [databasename] > [filename.sql]

На самом деле это одна команда, за которой следует оператор >, который говорит: «взять вывод предыдущей команды и сохранить его в этот файл. "

Примечание. Отсутствие пробела между -p и паролем mysql не является опечаткой. Однако, если вы оставите флаг -p, но действительный пароль будет пустым, вам будет предложено ввести пароль. Иногда рекомендуется не использовать пароли в истории Bash.

ответил Ian Jamieson 9 FriEurope/Moscow2011-12-09T14:28:09+04:00Europe/Moscow12bEurope/MoscowFri, 09 Dec 2011 14:28:09 +0400 2011, 14:28:09
0

Никто не упоминает о параметре - одиночная транзакция . Люди должны использовать его по умолчанию для таблиц InnoDB, чтобы обеспечить согласованность данных. В этом случае:

mysqldump --single-transaction -h [remoteserver.com] -u [username] -p [password] [yourdatabase] > [dump_file.sql]

Это гарантирует, что дамп запускается в одной транзакции, изолированной от других, что предотвращает резервное копирование частичной транзакции.

Например, представьте, что у вас есть игровой сервер, на котором люди могут приобретать экипировку со своими кредитами. По сути, есть две операции с базой данных:

  1. вычтите сумму из их кредитов
  2. Добавьте снаряжение в их арсенал

Теперь, если дамп происходит между этими операциями, то при следующем восстановлении резервной копии пользователь потеряет купленный элемент, поскольку вторая операция не сохраняется в файле дампа SQL.

Хотя это всего лишь опция , в основном нет особой причины, по которой вы не используете эту опцию с mysqldump.

ответил datasn.io 16 FebruaryEurope/MoscowbSun, 16 Feb 2014 09:36:36 +0400000000amSun, 16 Feb 2014 09:36:36 +040014 2014, 09:36:36
0

Эта тема отображается на первой странице моего результата в Google, поэтому вот небольшой полезный совет для новичков.

Вы также можете сбросить sql и сжать его в одну строку:

mysqldump -u [username] -p[password] [database_name] | gzip > [filename.sql.gz]
ответил Unnawut 4 Mayam14 2014, 03:37:08
0
mysqldump -h [domain name/ip] -u [username] -p[password] [databasename] > [filename.sql]
ответил 16 J0000006Europe/Moscow 2015, 10:52:46
0

Перепробовал все комбинации здесь, но у меня это сработало:

mysqldump -u root -p --default-character-set=utf8mb4 [DATABASE TO BE COPIED NAME] > [NEW DATABASE NAME]
ответил jsibs 2 PM000000110000001331 2018, 23:18:13
0

вы можете выбрать другой способ:

mysql -u [username] [databasename]

И выберите свой файл sql, например:

source mydumpdatabase.sql
ответил Nico 25 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 25 Sep 2015 17:42:36 +0300 2015, 17:42:36

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132