쉘 스크립트를 통해 데이터베이스 덤프를 설치하는 방법은 무엇입니까?

쉘 스크립트를 통해 데이터베이스 덤프를 설치하는 방법은 무엇입니까?

Mysql 데이터베이스 덤프가 있습니다. 쉘 스크립트를 통해 외부 Linux 시스템에 Hudson과 함께 설치하고 싶습니다.

Mysql 스크립트를 구해 다른 컴퓨터의 데이터베이스에서 실행하려면 어떻게 해야 합니까? 다른 컴퓨터에 수동으로 액세스할 때 sftp를 사용하여 파일을 전송하고 ssh를 사용할 수 있다는 것을 알고 있지만 이를 간단한 쉘 스크립트로 자동화하려면 어떻게 해야 합니까?

답변1

$ mysql -p$pass -u$user -h$otherhost $db < dumpfile

이는 원시 SQL 문이 포함된 dumpfile텍스트에서 나온 것으로 가정됩니다 .mysqldump

중요한 점은 -p비밀번호와 비밀번호 사이에 공백이 있어서는 안 된다는 것입니다. (자동 로그인을 원한다고 가정합니다 -p. ) 비밀번호가 즉시 따르지 않으면 mysql이 옵션은 대화식으로 비밀번호를 요청하고 별도의 비밀번호 인수를 데이터베이스 이름으로 처리해야 하는 것으로 해석됩니다.

이렇게 하려면 $user원격 사용자로 로그인하고, 테이블을 삭제하고, 테이블을 생성하고, 테이블에 행을 삽입할 수 있는 권한이 있어야 합니다. MySQL은 사용자에 대해 별도의 원격 및 로컬 권한을 유지하므로 이는 빠지기 쉬운 함정입니다. 원격 사용자에게 너무 많은 권한을 부여하면 보안 위험이 있으므로 SSL( --ssl*옵션)을 와 결합하는 것이 좋습니다 mysql. 그렇지 않으면 원격 사용자가 이와 같은 작업을 수행하도록 허용할지 모르겠습니다.

관련 정보