ssh 터널을 생성하고 원격 호스트의 데이터베이스를 쿼리하기 위해 Perl DBI 연결을 설정하는 perl 스크립트가 있습니다."mux_client_request_session : master에서 읽음 실패 : 파이프가 깨짐"ssh 오류
1 my $ssh = Net::OpenSSH->new('[email protected]');
2 $pid = $ssh->spawn({ssh_opts => '-L 127.0.0.1:12345:127.0.0.1:3306'}, 'sleep 3');
3 return DBI->connect($dsn, $db_user, $db_pass);
이 시간의 약 80 ~ 90 %를 작동하지만 나머지 시간은 내가 데이터베이스에 연결하려고이 오류를 얻을 : 실패 마스터에서 읽어 :
mux_client_request_session 깨진 파이프를
이 문제를 해결하는 과정에서 2시 이후에 잠시 잠시 잠을 자면 usleep (10000)
으로 100 % 작동합니다. 나는 이것이 왜인지는 모르겠다. 그러나 내가 궁금해하고, 어떻게 문제를 적절하게 해결할 수 있는지 궁금하다.
감사합니다.
감사합니다. $ dsn은 어떻게됩니까? 또한 Windows가 아니기 때문에 4022 대신 mysql 포트로 3306을 사용한다고 가정합니다. – StevieD
'$ dsn'은 터널의 로컬 측을 가리켜 야합니다. 위의 예제를 mysql에 포함시켰다. – salva
감사합니다. 내가 기회를 얻 자마자 나는 이것을 시험 할 것이다. – StevieD