2016-12-20 1 views
0

좋은 하루, 나는 떠들썩한 파티를 사용하여 DB를 mysql을 덤프를 생성하기 위해 노력하고mysqldump를 내 로컬 호스트

에서 빈 덤프를 생성합니다.

나는이 link

#!/bin/bash 
# Database credentials 
user="root" 
password="" 
host="localhost" 
db_name="sampledb" 
# Other options 
backup_path="C:\_backup" 
date=$(date +"%d-%b-%Y") 
# Set default file permissions 
umask 177 
# Dump database into SQL file 
mysqldump --user=$user --password= --host=$host $db_name > $backup_path/$db_name-$date.sql 

덤프 파일을 사용하여 샘플의 .sh를 만든 (빈) 0킬로바이트

문제가 내 bash는 어떤 부분으로 만 만들어집니다?

업데이트 된 코드를 (나, 처음 이런 일을 만들 수 있습니다)

UPDATE 내가 그것을 실행하고 때문에 내 환경 변수에 mysqldump는 경로를 추가해야 할 것 같다

win7.

미리 감사드립니다.

+0

실제로 오류 메시지가 표시 될 수있는 환경에서 스크립트를 실행 하시겠습니까? 예 : 어디에 저장하거나 보내지 않도록 설정되어있는 크론 작업입니까? –

+0

git bash를 사용하여 실행합니다. –

+0

좋아 ... 무엇을 얻을 수 있니'user = "doesnotexist"'를 사용 하시겠습니까? –

답변

0

어쩌면 암호가 문제일까요? $ password = ""에 저장하려고 시도해야한다고 생각합니다.

0

bash 스크립트 (아마도 linux/unix의 풍미)를 사용하고 있지만 Windows 경로는 cygwin에 있습니까? cygwin에서도 스크립트 맨 위에 (#!/bin/bash) 윗줄이 필요합니다. 어쨌든 명령 줄에 암호 변수를 추가 (또는 그것을 채워,하지만 난 그게 의도적 인 것 같아요)하지 않은, 시도 :

mysqldump --user=$user --password=$password --host=$host $db_name > $backup_path/$db_name-$date.sql 

귀하의 umask 변수는 아무것도하지 않습니다. 이와 같은 파일에서 암호를 사용하면 안전하지 않을 수 있으므로 적절한 사용자에게 파일에 대한 액세스를 제한하십시오.

+0

전 git bash를 사용하고 있습니다. 내가 읽은 기사 중 하나는 null/none 인 localhost의 암호에 관한 것입니다. –

+0

root 사용자의 암호를 설정하지 않았다면 mysqldump 호출에서'--password'가 필요하지 않습니다. 그러나 당신은 ** 정말로 ** 루트 암호를 설정하고이 경우 비 루트 사용자를 사용해야합니다. – siloko