Не может SSH туннелировать с PuTTY (Windows Vista) для соединения с MySQL на поле Linux

Вы могли бы попытаться работать в поднятой командной строке. Найдите Командную строку в меню "Пуск" и щелкните правой кнопкой затем по Выполнению Как по Администратору. Согласитесь позволить программе работать в Поднятых Полномочиях.

Попытайтесь выполнить команду затем.

2
задан 8 April 2019 в 19:49
3 ответа

Это кажется, что у Вас есть он "назад". Место назначения не является Вашей обратной петлей, это - удаленная машина в другой сети. Это, или Вы используете Удаленный вместо Локального для туннеля.

Попытайтесь зеркально отразить IP-адреса вокруг, пример:

putty.exe -L 3307:mysql.yourdomain.com:3306 

Где mysql.yourdomain.com является названием хоста, который имеет сервис MySQL, Вы пытаетесь связаться. Когда шпаклевка открывается диалоговое окно соединения, вставила адрес, подключение, и входит в систему. Затем соединитесь с localhost:3307 с помощью Инструмента администрирования.

3
ответ дан 3 December 2019 в 09:54

Я только что попробовал Windows 7, и он не работает на меня также. Порт будет передан, но не повторно отображен. Будет тихо localhost:3306, который сталкивается с локальным сервером в Вашем случае. В документации PuTTY также говорится, что это было бы правильным путем, но возможно новая модель обеспечения безопасности Windows Vista блокирует переотображение портов.

Я предложил бы, если Вы используете порт 3306 локально, для не туннелирования к localhost (который обычно отображается на 127.0.0.1), но туннелировать к другому IP-адресу в Вашем петлевом диапазоне (возможно, 127.0.0.2). Если Ваш локальный SQL-сервер настроен хорошо, он только слушает 127.0.0.1:3306, Ваше удаленное туннелировало, SQL-сервер может послушать на 127.0.0.2:3306, таким образом, переотображение порта не необходимо.

1
ответ дан 3 December 2019 в 09:54
  • 1
    Не необходимый - просто говорят PuTTy связывать вперед с локальным портом 3307. –  Dan Carley 27 July 2009 в 12:36
  • 2
    Вы когда-либо пробовали? Это не работает на меня в Windows 7. –  Manuel Faux 27 July 2009 в 12:50
  • 3
    Вы следовали за исправлением Avery? –  Dan Carley 27 July 2009 в 13:12
  • 4
    Да, you' право ре, наоборот. –  Manuel Faux 27 July 2009 в 13:46
  • 5
    Шпаклюйте туннель ssh doesn' t работают над моим Windows 7 на 64 бита, я попробовал SSH в ударе мерзавца (Windows Git), и он работал красиво! Зафиксируйте его, шпаклюйте! code.google.com/p/msysgit –  Jeffrey 23 December 2009 в 07:37

Вы не хотите или нуждаетесь в PuTTY для удаленного доступа к базе данных.

Если у Вас есть полномочия соединиться с удаленной базой данных от Вашей локальной машины, можно просто использовать mysqldump --host=remotemachine --user=remotesqluser --password=remotepassword --databases databasename>database.dump на Vista затем загрузите его на свое локальное поле с mysql --port=3307 --host=127.0.0.1 --user=localsqluser --password=localpassword <database.dump - если бы Вы запускали Linux локально, то я просто передал бы одну программу по каналу в другой, но я не знаю если поддержки cmd.exe Vista это.

Если Вы не можете соединиться удаленно, но иметь доступ администратора к базе данных Linux, можно дать себе полномочия (в удаленной командной строке MySQL) с grant select on databasename.* to 'remotesqluser'@'yourexternalIPaddress' identified by 'remotepassword'; (Я думаю select все, в чем Вы нуждаетесь). После того как у Вас есть доступ, можно скопировать базу данных как выше. Использовать revoke потерять полномочия, когда Вы закончили.

Если Вы не можете сделать ни одного из этого, Вам будет нужен PuTTY: Соединитесь с полем Linux и работайте mysqldump управляйте там (с --host=127.0.0.1). Скопируйте файл дампа в свою машину Windows Vista любыми средствами, которые Вы любите - SCP, FTP и HTTP, если у Вас есть удобный веб-сервер - и затем можно загрузить базу данных локально как выше. Не забывайте удалять файл дампа на поле Linux после того, как Вы будете сделаны.

ОТМЕТЬТЕ, не настраиваются ли Ваши mysqldump опции разумно, Вы, вероятно, захотите добавить --extended-insert к команде для ускорения вещей (позволяет использование многострочных вставок), и если существуют какие-либо хранимые процедуры в базе данных для передачи, --routines также.

1
ответ дан 3 December 2019 в 09:54
  • 1
    Подключения mysql являются not' t зашифрованный, если Вы явно не устанавливаете SSL и обычно there' s не часто серьезное основание иметь MySQL, прислушивающийся к миру. Если you' ре, использующее VPN, it' s далеко намного более безопасный перенести соединение в туннель SSH. –  Dan Carley 27 July 2009 в 12:39
  • 2
    Я хотел настроить дб с помощью navicat на моей локальной машине. Таким образом, я должен скопировать таблицы/данные с сервера на мою локальную машину. Порт 3306 на сервере заблокирован, таким образом, я пытался создать туннель ssh (использующий Шпаклевку) и подключение через это. –  ultraman 27 July 2009 в 13:49
  • 3
    Вы можете сделать, чтобы Navicat установил сам туннель. Я wouldn' t обязательно советуют использовать его для копирования данных все же. Pete прав в связи с использованием mysqldump. –  Dan Carley 27 July 2009 в 17:04
  • 4
    We' ре, укрепленное к наличию 3 306 открытых для определенных адресов - разделяет сервер БД от веб-сервера и цикл репликации, который включает наш dev сервер здесь в офис - но в этом случае, я соглашаюсь, что туннель ssh был бы лучшим решением. Я haven' t должен был использовать шпаклевку вне моего телефона больше десятилетия хотя, таким образом, can' t консультируют по вопросам требуемого колдовства! –  Pete Jordan 28 July 2009 в 09:48

Теги

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