Ответ 1
Важными командами из этой ссылки являются:
резервная копия:
mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
восстановить:
mysql -u root -p[root_password] [database_name] < dumpfilename.sql
Как я могу использовать mysqldump для резервного копирования и восстановления базы данных на удаленном сервере?
Оба имеют root-доступ. Я использую шпаклёвку для выполнения этого.
До сих пор я пробовал следующее:
mysqldump -u root -p >z*[email protected] masdagn_joom15 | mysql \ -u root -p g2154hE6-AsXP --host=207.210.71.26 -C masdagn_joom15temp \g
но он отказался
локальный пароль: > z * x311a! @
удаленный пароль: g2154hE6-AsXP
Важными командами из этой ссылки являются:
резервная копия:
mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
восстановить:
mysql -u root -p[root_password] [database_name] < dumpfilename.sql
mysqldump --user=username --password=pwd db_name | bzip2 -c > /backup_dir/db_name.sql.bz2
вы можете вставить эту часть в script, после чего вы можете использовать FTP для передачи в другое место.
Чтобы восстановить, вы можете
bzip2 -d db_name.sql.bz2
mysql --user=username --password=pwd db_name < db_name.sql
Ваш локальный пароль содержит символ >
, который интерпретируется как символ перенаправления большинством оболочек. Как правило, это значительно упростит вашу жизнь, если вы сохраните свои пароли MySQL в алфавитном порядке [A-Za-z0-9]
. И это сделает вашу систему более безопасной, если вы не будете публично публиковать свои пароли.
[local-server]# mysqldump -u root -prootpswd db | mysql \
-u root -ptmppassword --host=remote-server -C db1
[Примечание: перед хостом есть два - (дефис)]
Обратите внимание, что сначала необходимо создать базу данных db1 на удаленном сервере, прежде чем выполнять следующую команду.
вот что я делаю для быстрого сброса на другой удаленный сервер... предполагая, что вы установили ssh-ключ между двумя серверами
chmod 0755 dump-to-server.sh
)./dump-to-server.sh schema_name [email protected]
dump-to-server.sh
\#!/bin/bash
if [[ -z "$1" || -z "$2" ]]; then
echo "--------- usage ---------";
echo "./dump-to-server.sh schema_name [email protected]";
echo "";
else
mysqldump --opt "$1" | gzip -c | ssh "$2" "gunzip -c | mysql $1"
fi