получить базу данных MySQL через SSH - PullRequest
2 голосов
/ 13 марта 2012

Мне нужно скопировать всю базу данных из установки mysql на удаленной машине через SSH на мои локальные машины mysql.

Я знаю SSH, а также локальный и удаленный пользователь и пароль администратора MYSQL.

Достаточно ли информации и как это делается?

Ответы [ 5 ]

9 голосов
/ 01 июля 2013

С удаленного сервера на локальный компьютер

 ssh {ssh.user}@{remote_host} \
 'mysqldump -u {remote_dbuser} --password={remote_dbpassword}
 {remote_dbname} | bzip2 -c' \  | bunzip2 -dc | mysql -u {local_dbuser}
 --password={local_dbpassword} -D {local_dbname}
5 голосов
/ 13 марта 2012

Это сбросит удаленную БД в вашем локальном MySQL через pipe :

ssh mysql-server "mysqldump --all-databases --quote-names --opt --hex-blob --add-drop-database" | mysql

Вы должны заботиться о пользователях в mysql.users

Кроме того, чтобы не вводить пользователей и пароли для mysqldump и mysql на локальных и удаленных хостах, вы можете создать файл ~/.my.cnf:

[mysql]
user = dba
password = foobar

[mysqldump]
user = dba
password = foobar

См. http://dev.mysql.com/doc/refman/5.1/en/option-files.html

4 голосов
/ 13 марта 2012

Попробуйте прочитать здесь:

Изменено с http://www.cyberciti.biz/tips/howto-copy-mysql-database-remote-server.html - изменено, поскольку я предпочитаю использовать .sql в качестве расширения для файлов SQL:

Обычно вы запускаете mysqldump для создания копии базы данных и резервного копирования в виде следующим образом:

$ mysqldump -u user -p db-name> db-name.sql

Скопируйте файл db-name.out с помощью sftp / ssh на удаленный сервер MySQL:

$ scp db-name.sql user@remote.box.com: / backup

Восстановление базы данных на удаленном сервере (вход через ssh):

$ mysql -u user -p db-name

Обычно вы будете использовать mysqldump для создания дампа вашей базы данных, скопировать его на локальный компьютер, а затем передать содержимое в mysql для регенерации БД.

Вы можете копировать сами файлы БД вместо использования mysqldump, но только если вы можете отключить службу MySQL на удаленном компьютере.

0 голосов
/ 13 марта 2012
  1. ssh в удаленный компьютер
  2. сделать резервную копию базы данных , используя mysqldump
  3. передать файл на локальный компьютер , используя scp
  4. восстановить базу данных в вашем локальном mysql
0 голосов
/ 13 марта 2012

Я бы порекомендовал инструмент Xtrabackup от Percona . Он поддерживает горячее копирование данных через SSH и имеет отличную документацию. В отличие от использования mysqldump, при этом будут скопированы все элементы экземпляра MySQL, включая права пользователя, триггеры, репликацию и т. Д. *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...