문제

CLI를 통해 SQL 파일을 가져 오는 방법을 알고 있습니다.

mysql -u USER -p DBNAME < dump.sql

그러나 그것은 dump.sql 파일이 로컬 인 경우입니다. 원격 서버에서 파일을 어떻게 사용할 수 있습니까?

도움이 되었습니까?

해결책

원격 서버에 어떤 네트워크 액세스가 필요한지 말하지 않았습니다.

원격 서버에 SSH 액세스 권한이 있다고 가정하면 원격 MySQLDump의 결과를 MySQL 명령에 파이프 할 수 있습니다. 방금 테스트했는데 잘 작동합니다.

ssh remote.com "mysqldump remotedb" | mysql localdb

나는 사용자, 비밀번호, 호스트와 같은 것들을 넣습니다. .my.cnf 그래서 나는 끊임없이 입력하지 않습니다 - 다중 사용자 시스템의 보안에 성가 시게, 당신은 bash_history에 Cleartext에 암호를 넣는 것입니다! 그러나 쉽게 추가 할 수 있습니다 -u -p -h 필요한 경우 양쪽 끝에 다시 들어갑니다.

ssh remote.com "mysqldump -u remoteuser -p'remotepass' remotedb" | mysql -u localuser -p'localpass' localdb

마지막으로 파이프를 통과 할 수 있습니다 gzip 네트워크를 통해 데이터를 압축하려면 :

ssh remote.com "mysqldump remotedb | gzip" | gzip -d | mysql localdb

다른 팁

로컬 VM의 공간이 심각하게 낮았 기 때문에 이것에 추가 할 것이라고 생각했지만 .SQL 파일이 이미 원격 서버에 존재하는 경우 할 수 있습니다.

ssh <ip-address> "cat /path/to/db.sql" | mysql -u <user> -p<password> <dbname>

나는 사용할 것이다 wget 파일로 다운로드하거나 파이프를 넣으려면

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top