Pergunta

Quero me conectar ao meu servidor MySQL remoto por meio de encaminhamento de porta.Infelizmente meu provedor de hospedagem não tem php_ssh2 instalado no servidor, então tenho que trabalhar phpseclib biblioteca.Até agora sou capaz de fazer:

1 - Conecte-se ao servidor usando Net_SSH2:

$ssh = new Net_SSH2('xx.xxx.xx.xx');  
 if (!$ssh->login('user', 'password')) {  
    exit('Login Failed');  
 }  

Se eu fizer echo $ssh->exec('ls -la');, ele busca a listagem do diretório informando que estamos conectados com sucesso.

se eu correr

2 - echo $ssh->exec('echo "select * from table where company_id=\"15\";" | mysql');

Ele desencadeia:

stdin:não é um tty ERRO 1045 (28000):Acesso negado para o usuário 'usuário'@'localhost' (usando senha:NÃO)

3 - Se eu fizer echo $ssh->exec('ssh -f -L 3307:localhost:3306 root@xx.xxx.xxx.xxx sleep 60 >> logfile');

Ele é executado indefinidamente, resultando em nenhum erro de resposta do servidor.

Estou puxando meu cabelo.AJUDA!!!!!

Foi útil?

Solução

Talvez tente isso?:

echo $ssh->exec('echo "select * from table where company_id=\"15\";" | mysql -u username -password=password database');

Provavelmente está aguardando a digitação de uma senha.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top