2014-07-17 4 views
0

Server1에는 MySQL 서버가 있고 Server2에는 Server1의 MySQL 서버 테이블로 가져올 파일이 있습니다. 나는 Server2에만 액세스 할 수 있으며 SSH를 사용하는 파일입니다.SSH를 통해 파일에서 Mysql 테이블로 데이터로드

이제 가장 좋은 해결책은 무엇일까요? 하나의 비효율적 인 방법은 파일을 scp에 보내서 Server2의 하드 디스크에 넣은 다음 해당 파일에 대해 LOAD DATA INFILE을 실행하십시오. 그러나 파일이 크기 때문에이 작업을 피하고 싶습니다.

Server2의 Server1의 MySQL에 파일을 직접로드 할 수있는 방법이 있습니까?

답변

3

이 명령에서 -C는 전송 중에 압축을 허용하고 -c blowfish는 기본 CPU보다 적은 CPU를 사용하는 cyphering 알고리즘을 선택합니다.

일반적으로 압축 파일을 전송하면 MD5와 같은 체크섬을 확인한 다음 압축 파일에서 가져 오기를 실행할 수 있습니다.

희망이 도움이됩니다.

1

ssh 터널링을 사용하여 mysql 서버에 원격으로 안전하게 액세스하려고합니다. 예를 들어

$ ssh -f -L <[local address:]port>:<remote address;port> -N <user id> 

:

다음 명령은 포트 포워딩을 생성합니다

$ ssh -F -L 45678:localhost:3307 -N [email protected] 

푸의 자격 증명을 사용하여 포트 45678에 로컬 호스트의 기본 MySQL 서버 포트를 전달합니다 (이있을 수 있습니다 테스트 목적에 유용함).

그런 다음, 당신은 단순히 해당 지역의 프로그램을 서버에 연결할 수 있습니다 : MySQL의 프롬프트에서

$ mysql -p -u foo -P 45678 

, 선택적 키워드 걸리는 LOAD DATA 문을 사용하여 데이터 파일을 대량로드 할 수 LOCAL 파일이 연결의 클라이언트쪽에 있음을 나타냅니다.

문서 :

관련 문제