2012-05-23 6 views
14

퍼티 SSH 터널을 사용하여 로컬 호스트와 원격 서버간에 연결이 있습니다.SSH 터널을 사용하여 원격 서버에서 MySQL로 로컬 SQL 파일 가져 오기

그게 전부입니다.

은 지금은 내 로컬 컴퓨터, 즉 C에서 SQL 파일을 얻을 수있는 명령이 필요합니다 ... \ 폴더 \ test.sql 및 원격 서버

나는 어쩌면 생각에서 MySQL로 가져올

mysql -u prefix_username -p testpass -h localhost -P 3307 prefix_testdb 

는이 명령이 작동하지 않았다

mysql -p testpass -u prefix_username prefix_testdb < c:\folder\test.sql 

과 같은 명령을한다.

어떻게 해결할 수 있습니까?

+0

당신이 정말로 그것을 원격 시스템에서 MySQL 서버에 가져 하시겠습니까? 그렇다면 먼저 로컬 컴퓨터로 전송할 필요가 없습니다. – cb0

+0

이것은 하나의 명령으로 수행 할 수있는 – Jkk

답변

3

복사하려면 'scp'를 사용하고, 로컬 시스템에 복사하려면 mysql을 사용하십시오.

구문 :

ssh [email protected]_server mysql -p testpass -u username testdb < c:\folder\test.sql 
+3

을 사용하는 원격 서버와 다른 서버의 SQL 파일입니다. – jmserra

9

당신은 추가 된 MySQL의 명령으로 원격 시스템에 ssh를해야합니다 : 파일 사용을 옮겨진 후

scp [email protected]_server:/path/to/sql/file.sql ~/path/to/local/directory 

이 명령을 실행해야합니다.

file.sql 실행하는 SQL 쿼리를 포함하고 output.log은 (선별 같은) 뭔가를 반환하는 쿼리가있을 때 의미는

내가 코드에서 볼 수있는 다른 유일한 것은이 비어 있습니다 -p 옵션과 암호 사이의 공백 -p 옵션을 사용하면 공백을 남기지 않고 암호를 작성해야합니다. 또는 당신은 단지 사용자 난 당신이 문제

24

당신에게 :

mysql -uYouUserName -p name_of_database_to_import_to < ~/path/to/local/directory/file.sql 
+0

이것은 이상적입니다. 여전히 당신이하는 일을 정말로 알기 전까지는 mysql 서버에 원격 연결을 허용하는 것은 좋지 않을 수 있습니다. – augusto

+1

'sql' 파일에 스키마 정의가 포함되어 있으면 실행해야하는 것은 다음과 같습니다 :'mysql -h host -u user_name -pPassword CommandZ

-1

를 해결할 수 있기를 바랍니다 옵션 --password = 비밀번호

당신은 서버에 파일을 업로드 pscp을 사용할 수 있습니다. 명령 줄로 이동이

pscp.exe c:\folder\test.sql [email protected]:/serverpath 
4
1. mysql -h xxx -uxxx -pxxx . //login to the remote mysql 
2. use DATABASE.    //asign which db to import 
3. source path/to/file.sql //the path can be your local sql file path. 

Refference을 입력 Import SQL file into mysql