как к mysqldump удаленному дб от локальной машины

Я должен сделать mysqldump базы данных по удаленному серверу, но сервер не имеет mysqldump установленным. Я хотел бы использовать mysqldump на своей машине, чтобы соединиться с удаленной базой данных и сделать дамп на моей машине.

Я попытался создать ssh, туннелируют и затем делают дамп, но это, кажется, не работает. Я попробовал:

ssh -f -L3310:remote.server:3306 user@remote.server -N

Туннель создается с успехом. Если я делаю

telnet localhost 3310

Я получаю некоторую аннотацию, которая показывает корректный сервер mysql версия. Однако выполнение следующего, кажется, пытается соединиться локально

mysqldump -P 3310 -h localhost -u mysql_user -p database_name table_name
157
задан Brian Webster 21 February 2012 в 00:23
поделиться

1 ответ

Поскольку я еще не видел этого на serverfault, и ответ довольно прост:

Изменить:

ssh -f -L3310:remote.server:3306 user@remote.server -N

Кому:

ssh -f -L3310:localhost:3306 user@remote.server -N

И изменить:

mysqldump -P 3310 -h localhost -u mysql_user -p database_name table_name

Кому:

mysqldump -P 3310 -h 127.0.0.1 -u mysql_user -p database_name table_name

(не используйте localhost, это одна из бессмыслиц со «особым значением», которая, вероятно, подключается через сокет, а не через порт)

править : ну, чтобы уточнить: если хост установлен на localhost , предполагается сконфигурированная (или по умолчанию) опция - socket . См. руководство , для которого ищутся / используются файлы опций. В Windows это может быть именованный канал.

224
ответ дан 23 November 2019 в 21:45
поделиться
Другие вопросы по тегам:

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