Нужно создать дамп базы данных MySQL с сервера, подключаемому через ssh.
Для этого можно использовать команды
echo "show databases;" | ssh -C {ssh.user}@{remote_host} mysql -u {remote_dbuser} --password={remote_dbpassword} {remote_dbname} -BNr
Для этого можно использовать команды
ssh -C {ssh.user}@{remote_host} mysqldump -u {remote_dbuser} --password={remote_dbpassword} {remote_dbname} | mysql -u {local_dbuser} --password={local_dbpassword} -D {local_dbname}
ssh -C {ssh.user}@{remote_host} mysqldump -u {remote_dbuser} --password={remote_dbpassword} {remote_dbname} | gzip > {dbname}.sql.gz
Найденные в
https://code.google.com/p/mysqlcompare/issues/detail?id=7
http://8bitpipe.com/?p=684
http://www.rogerobeid.com/2011/02/06/mysqldump-over-ssh/
Интересные моменты о туннелировании с помощью ssh есть в
http://www.symkat.com/ssh-tips-and-tricks-you-need
Как настроить, чтобы при подключении по ssh не спрашивался пароль, описано в статье "Настройка ssh, rsync без ввода пароля".
Если же пароль нужно вводить, то можно использовать spawn, например
spawn ssh user@example.com "mysql -u blub"
Найденные в
https://code.google.com/p/mysqlcompare/issues/detail?id=7
http://8bitpipe.com/?p=684
http://www.rogerobeid.com/2011/02/06/mysqldump-over-ssh/
Интересные моменты о туннелировании с помощью ssh есть в
http://www.symkat.com/ssh-tips-and-tricks-you-need
Как настроить, чтобы при подключении по ssh не спрашивался пароль, описано в статье "Настройка ssh, rsync без ввода пароля".
Если же пароль нужно вводить, то можно использовать spawn, например
spawn ssh user@example.com "mysql -u blub"
expect "*ssword:*"
send -- "mypass\r"
interact
Когда нужно выполнить команду mysql на удаленном сервере, например -e "show databases;" с помощью предложенного метода, то выводится сообщение об ошибке, тогда можно использовать команду
ssh -C {ssh.user}@{remote_host} mysqlshow -u {remote_dbuser} --password={remote_dbpassword}
ssh -C {ssh.user}@{remote_host} mysqlshow -u {remote_dbuser} --password={remote_dbpassword}
или
echo "show databases;" | ssh -C {ssh.user}@{remote_host} mysql -u {remote_dbuser} --password={remote_dbpassword} {remote_dbname} -BNr
Коментарі
Дописати коментар