não é possível túnel SSH com PuTTY (windows vista) para se conectar ao mysql na caixa linux

2

Objetivo:

Estou tentando copiar um banco de dados para minha caixa local que está executando a janela vista

Configuração:

  • Usando o MySQL 5.1 (mysql-essential-5.1win32) no vista
  • Na caixa linux: mysql Ver 14.12 Distrib 5.0.51a,
  • Eu configurei o tunelamento ssh no putty dessa maneira:
    • Porta de Origem 3306, Destino: localhost: 3307
    • Estou usando o 3307 porque tenho meu próprio banco de dados no Vista em execução no 3306

Eu posso fazer login localmente no db na minha caixa linux no entanto, quando tentei fazer o login do administrador do MySQL usando

  • Host do servidor: 127.0.0.1 Port 3307
  • nome de usuário: someUser
  • senha: somepassword

falhou com esta mensagem MySql Error Number 2003 Não é possível conectar-se ao servidor MySql em 127,0.0.1 (10061)

Por favor, recomende a correção.

Obrigado

    
por ultraman 27.07.2009 / 03:37

3 respostas

3

Parece que você está "atrasado". O destino não é o seu loopback, é a máquina remota na outra rede. Isso, ou você está usando o Remote em vez de Local para o túnel.

Tente inverter os endereços IP, por exemplo:

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

Onde mysql.yourdomain.com é o nome do host que possui o serviço MySQL que você está tentando contatar. Quando o putty abre a caixa de diálogo de conexão, insira o endereço, conecte-se e efetue login. Em seguida, conecte-se ao localhost: 3307 usando a ferramenta Administrator.

    
por 27.07.2009 / 07:49
1

Acabei de tentar com o Windows 7 e também não funciona para mim. A porta será encaminhada, mas não remapeada, ainda será localhost:3306 , que colide com o servidor local no seu caso. A documentação do putty também diz que esse seria o caminho certo, mas talvez o novo modelo de segurança do Windows Vista bloqueie o remapeamento das portas.

Sugiro que, se você estiver usando a porta 3306 localmente, não encapsule para localhost (que normalmente é mapeado para 127.0.0.1 ), mas para encapsular para outro IP no intervalo de loopback ( talvez 127.0.0.2 ). Se o seu servidor SQL local estiver bem configurado, ele só escuta 127.0.0.1:3306 , seu servidor SQL sintonizado remotamente pode ouvir 127.0.0.2:3306 , portanto, não é necessário remapear a porta.

    
por 27.07.2009 / 09:07
1

Você não quer ou precisa de massa para acesso remoto ao banco de dados.

Você tem permissões para se conectar ao banco de dados remoto de sua máquina local?

Se assim for, você pode usar apenas mysqldump --host=remotemachine --user=remotesqluser --password=remotepassword --databases databasename>database.dump no Vista, e então carregá-lo na sua caixa local com mysql --port=3307 --host=127.0.0.1 --user=localsqluser --password=localpassword <database.dump - se você estivesse rodando linux localmente, eu colocaria um programa em outro, mas eu não saber se o cmd.exe do Vista suporta isso.

Se você não puder conectar-se remotamente, mas ter acesso de administrador ao banco de dados linux, você pode conceder permissões (na linha de comando mysql remota) com grant select on databasename.* to 'remotesqluser'@'yourexternalIPaddress' identified by 'remotepassword'; (acho select is tudo que você precisa). Depois de ter acesso, você pode copiar o banco de dados como acima. Use revoke para perder os privilégios quando terminar.

Se você não puder fazer nada disso, precisará de putty: Conecte-se à caixa linux e execute o comando mysqldump (com --host=127.0.0.1 ). Copie o arquivo de despejo para a sua máquina Vista por qualquer meio que você gosta - scp, ftp, http, se você tiver um servidor web prático - e então você pode carregar o banco de dados localmente como acima. Não se esqueça de apagar o arquivo de despejo na caixa do Linux depois de terminar.

OBSERVAÇÃO se suas opções mysqldump não estiverem configuradas de maneira sensata, você provavelmente desejará adicionar --extended-insert ao comando para acelerar (permite o uso de inserções de várias linhas), e se houver algum procedimento armazenado no banco de dados para transferir, --routines também.

    
por 27.07.2009 / 09:27