2012-07-12 9 views
1

저는 주로 AWS를 통해 Linux를 배우려는 비교적 새로운 LAMP 개발자입니다. Elastic Beanstalk 인스턴스가 실행 중입니다. 나는 냠은 다음과 같은 패키지의 설치 않은 : 모든 후 입력 ... 잘 설치 듯AWS Elastic Beanstalk에서 Mysql에 연결

mysql55.x86_64 mysql55-bench.x86_64 mysql55-common.x86_64 mysql55-devel.x86_64 mysql55-libs.x86_64 mysql55-server.x86_64 mysql55-test.x86_64 

...

mysql -V 

mysql Ver 14.14 Distrib 5.5.20, for Linux (x86_64) using readline 5.1 

나에게 얻을 수있는 .. . mysql이 설치되어 있는지 확인합니다 ...하지만 입력 할 때 ...

mysql -u ec2-user -p 
Enter password: /*leaving blank*/ 
,363,210

내가 얻을 ...

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 

이제 일은 내가 AWS 콘솔에서 만든 보안 그룹 키 쌍이 서버에 SSH - 보내고하고있다. 따라서 ec2 사용자로 상자에 로그인하면 키가 나를 (.ppk 파일에서) 인증합니다. 내가 아는 한 그것은 "루트"사용자입니다. 암호는 없지만 오인되었을 수 있습니다.

그래서 기본적으로 리눅스 환경에서 MySQL을 사용하는 방법을 처음에는 이해하지 못합니다. 난 지금까지 PHPMyAdmin과 MySQL 명령 행을 WAMP에서 사용했다.

내 전선이 여기에 교차되는 곳에서 누군가 도와 드릴 수 있습니까?

+0

가 분명있을지라도 나는 추가해야합니다,하지만 난 이미 EC2 인스턴스에 ssh'd 내 처분에 리눅스 파일 시스템을 사용했습니다. 나는 아직 리눅스에 대해 충분히 알지 못한다. –

+0

그 타이핑을 추가하고 싶습니다 : mysql -V ... gets me mysql 버전 14.14 배포판 5.5.20, Linux (x86_64) 용 readline 5.1 ... mysql이 설치되어 있지만 mysql -u root -p를 입력했음을 확인합니다. .. 날 가져옵니다 : 오류 2002 (HY000) : 소켓을 통해 로컬 MySQL 서버에 연결할 수 없습니다 '/var/lib/mysql/mysql.sock'(2) –

+0

그리고 내 키 쌍으로 서버에 sshing 해요 루트 사용자에게 암호를 사용하고 있지 않습니다. 그게 문제 일 수 있겠습니까? –

답변

11

우와. 기다려. 다른 것을하기 전에, beanstalk 밖에서 mysql 기계를 멈추고 스핀 업하거나 Amazon RDS을 사용하십시오. Beanstalk은 데이터베이스를 보유하지 않고 응용 프로그램의 웹 계층을 자동 크기 조정하도록 설계되었습니다. 응용 프로그램을 확장하는 순간에 새 시스템에는 데이터가 없습니다. 다시 축소되면 데이터베이스 시스템이 제거 될 수 있습니다. 해당 인스턴스가 폐기되었거나 손상된 하드웨어로 끝나면 beanstalk이이를 대체합니다.

Give the Beanstalk architectural overview a read. 다이어그램에 유의하십시오. 데이터베이스 계층은 beanstalk 환경 외부에 존재합니다.

In this diagram the beanstalk environment is delineated by the broken yellow line.

+0

맞아. Chris,하지만 Auto Scaling Group 웹 앱 외부에서 mysql db를 설치하는 좋은 대안이있다. 모든 웹 앱이 자동으로 연결될 수있는 방법이다. 위 다이어그램의 DB를 EBS에서 실행중인 mysql으로 대체하는 것이 좋습니다. 또는 어쩌면, 첫 번째 EC2 인스턴스에 MySQL을 설치하고 결코 종료시키지 않겠습니까? –

+0

@DanielDener : 물론입니다. 자신의 인스턴스에 하나 또는 여러 개의 MySQL DB를 만들고 공용 보안 그룹에 드롭 한 다음 beanstalk SecurityGroup이 포트 3306에서 연결할 수 있는지 확인하십시오. 중요한 것은 자동 저장 그룹의 구성원에서 DB를 보호하는 것입니다. – Christopher

+0

@Chistopher 감사합니다! RDS의 일부 기능을 살펴 보았지만 _micro_ 인스턴스로 시작하여 RDS를 시험해보기로했습니다. 잘하면 각 웹 응용 프로그램 서버 및 CloudFront 내에서 좋은 캐시 (Varnish)가 RDS에 덜 스트레스를 줄 수 있기를 바랍니다. –

관련 문제