2012-10-10 3 views
0

2 개의 mysql 서버가 있습니다. 하나는 모든 mysql 기본값 (포트, 소켓 등)으로 설정되고 두 번째 포트는 3307로 설정되고 다른 소켓은 기본 파일 my-dev.cnf라고합니다.두 번째 mysql 서버를 실행하기위한 init.d 스크립트가 실패했습니다

은 내가 실행하면

/usr/bin/mysqld_safe --defaults-file=/etc/my-dev.cnf 

서버가 제대로

내가 할 노력하고있어 실행, 실행하는있는 init.d 스크립트를하는 것입니다. 나는 /etc/init.d/mysqld 스크립트를 복사 한 다음 줄을 변경 :

exec="/usr/bin/mysqld_safe" 

에 :

exec="/usr/bin/mysqld_safe --defaults-file=/etc/my-dev.cnf" 

를하지만에 실패 유지 :

[ -x $exec ] || exit 5 

로 :

/etc/init.d/mysql-dev : 줄 63 : [: '/ usr/bin/mysqld_safe': 이진 ope rator가 예상 됨

내가 어떻게 작동 시켜서 /etc/my-dev.cnf에 설정된 기본값을 사용할 수 있습니까?

감사합니다.

+0

당신이'bash'를 사용하고 있습니까? –

+1

주제를 벗어나, 여기있는 사람들을 위해 :'prog' 환경 변수를 신선한 것으로 설정하지 않으면 init.d 스크립트를 복제하는 것이 RHEL에서 실패합니다. 이 경우 기본적으로 "mysqld"가되지만 "mysqld-dev"와 같이 원본 스크립트와 다른 것으로 변경해야합니다. 그렇지 않으면 로그, 오류 또는 출력이나 피드백없이로드 만 거부합니다. 이것은 나중에'daemon' 명령에 전달되고 * 반드시 고유해야합니다. 그렇지 않으면 서비스가 이미 실행 중이라고 생각합니다. 이것을 해결하는 것은 재미 있지 않습니다. –

답변

1

문제는 [ -x ]은 파일이 실행 가능하지만 문자열이 실행 파일이 아니라면 수정 된 명령 줄입니다.

http://pastie.org에 전체 스크립트를 붙여, 나는 그것을 적응)

+0

붙여 넣기 : http://pastie.org/5032463. 감사! – avital

+0

도움에 감사드립니다! 네가 썼을 때, 나는 잘못된 곳에서 매개 변수를 전달하려했다. 실제로/usr/bin/mysqld_safe에 대한 매개 변수 인 파일의 일부 vars를 편집했습니다. 다시 한 번 감사합니다 – avital

+0

그게 작동합니다 : http://pastie.org/5034974 –

관련 문제