2011-03-31 2 views
2

웹 사이트 서버를 확장하기 위해 Scalr을 사용하고 있습니다.Scalr에서 Apache 인스턴스를 시작하기 전에 MySQL 인스턴스를 시작하는 방법이 있습니까?

Apache 서버에 Sakai를 설치하고 Linux 컴퓨터 용 부팅 스크립트를 만들었습니다.

질문 : Apache 서버가 부팅되기 전에 MySQL 인스턴스가 부팅되고 실행되도록하려면 어떻게해야합니까? Apache 서버가 먼저 부팅되면 Sakai를 실행하기위한 연결이 실패하고 모든 문제의 종류.

인스턴스를 시작하는 데 필요한 방식으로 시작할 수 있도록하려면 어떻게해야합니까? 나는 Scalr에 대해 아직 새로운 것이므로 어떤 도움을 주시면 감사하겠습니다.

감사

답변

1

아파치 시작 스크립트를 직접 썼다면 데이터베이스 인스턴스가 이미 실행중인 경우, 당신은 수표를 포함 할 수 있습니다.

CREATE DATABASE testdb; 
GRANT USAGE,SELECT ON testdb.* TO 'testuser'@'localhost' IDENTIFIED BY 'testpassword'; 
FLUSH PRIVILEGES; 

단순히 어딘가에 동안 루프를 넣어 :

MYSQL_OK=1 
while ["$MYSQL_OK" -ne 0] ; do 
    echo "SELECT version();" | mysql -utestuser -ptestpassword testdb 
    MYSQL_OK=$? 
    sleep 5 
done 

가 Obivously 당신은 MySQL의 일부 testuser를하고 테스트 데이터베이스를 만들 수 있습니다

당신은 간단한 대기 루프를 포함 할 수 있습니다 시작 부분). 당신이 그 라인, 아파치에 $의 mysqld를 추가 할 경우

Required-Start: $local_fs $remote_fs $network $named 

: 시스템이 레드햇 시스템의 일종 인 경우에는 시작 스크립트 /etc/init.d/httpd이 같은 라인을 가지고 있음을 알 수 있습니다 시작하기 전에 실행중인 mysqld를 주장합니다

Required-Start: $local_fs $remote_fs $network $named $mysqld 

그러나, 단점은 아파치 시작이 mylsqd을 실행하기위한 기다리지 않고 실패 할 것입니다.

행운을 빕니다. 알렉스.

관련 문제