Phpseclib соединяет сервер MYSQL - PullRequest
1 голос
/ 12 мая 2011

Я хочу подключиться к моему удаленному серверу MySQL через переадресацию портов.К сожалению, у моего хостинг-провайдера на сервере не установлена ​​php_ssh2, поэтому мне приходится работать с библиотекой phpseclib.Пока что я могу сделать:

1 - подключиться к серверу, используя Net_SSH2:

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

Если я сделаю echo $ssh->exec('ls -la');, он получит список каталогов, сообщающий, что мы успешно подключились.

если я запускаю

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

Это вызывает:

stdin: не является tty ОШИБКА 1045 (28000):Доступ запрещен для пользователя 'user' @ 'localhost' (используя пароль: НЕТ)

3 - если я сделаю echo $ssh->exec('ssh -f -L 3307:localhost:3306 root@xx.xxx.xxx.xxx sleep 60 >> logfile');

, он будет работать вечно, что не приведет к ошибке ответа отсервер.

Я вырываю волосы.ПОМОГИТЕ !!!!!

1 Ответ

1 голос
/ 18 мая 2011

Может попробовать это?:

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

Так как он, вероятно, ожидает ввода пароля.

...