Вы могли бы попытаться работать в поднятой командной строке. Найдите Командную строку в меню "Пуск" и щелкните правой кнопкой затем по Выполнению Как по Администратору. Согласитесь позволить программе работать в Поднятых Полномочиях.
Попытайтесь выполнить команду затем.
Это кажется, что у Вас есть он "назад". Место назначения не является Вашей обратной петлей, это - удаленная машина в другой сети. Это, или Вы используете Удаленный вместо Локального для туннеля.
Попытайтесь зеркально отразить IP-адреса вокруг, пример:
putty.exe -L 3307:mysql.yourdomain.com:3306
Где mysql.yourdomain.com является названием хоста, который имеет сервис MySQL, Вы пытаетесь связаться. Когда шпаклевка открывается диалоговое окно соединения, вставила адрес, подключение, и входит в систему. Затем соединитесь с localhost:3307 с помощью Инструмента администрирования.
Я только что попробовал 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
, таким образом, переотображение порта не необходимо.
Вы не хотите или нуждаетесь в 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
также.
mysqldump
.
– Dan Carley
27 July 2009 в 17:04