홈스테드에는 MySQL 과 PostgreSQL 이 설치되어 있지만 이 책에서는 MySQL 을 라라벨의 주 DBMS 로 사용할 것입니다.

 

홈스테드에 설치된 MySQL 에 연결하려면 두 가지 방법이 있습니다.

 

포트 포워딩(port forwarding) 으로 연결

버춸 박스는 설치되면 가상 네트워크를 구성하고 가상 머신과 포트 포워딩을 설정합니다.

포트 포워딩 규칙은 다음과 같으므로 localhost 의 지정된 포트에 연결하면 가상 머신의 포트로 포워딩합니다.

서비스호스트 운영 체제(127.0.0.1) 포트홈스테드 (가상 머신 - 192.168.10.10) 포트
SSH222222
HTTP800080
HTTPS44300443
MySQL330603306
Postgres543205432

위 표의 의미는 호스트 운영체제의 포트에 연결할 경우 가상 머신의 해당 포트로 전달된다는 의미로 로컬호스트의 2222 포트에 연결(127.0.0.1:2222)과 홈스테드의 ssh 포트(192.168.10.10:22) 연결은 동일하다는 의미입니다.

그러므로 다음 MySQL 연결 설정(33060 포트)은 홈스테드의 MySQL 포트 (3306) 으로 연결하게 됩니다.

본문에서 사용한 MySQL 프론트엔드 프로그램은 하이디SQL(HeidiSQL - http://www.heidisql.com/) 로 오픈소스이며 무료로 사용할 수 있습니다.

 

가상 머신의 ip 와 포트로 연결

라라벨을 위해 미리 설정된 사용자 id 와 암호는  다음 표와 같습니다.

사용자 id암호용도
rootsecret관리자 계정
homesteadsecret라라벨 app 개발용

홈스테드의 ip 는 사설 ip 인 192.168.10.10 이며 이 IP 는 포트 포워딩을 거치지 않고 바로 SQL 에 연결되므로 다음처럼 3306 포트에 연결하도록 설정하면 됩니다.

그러면 사용하고 있는 MySQL 클라이언트에서 위 2가지 방법중 한 가지를 선택해서 MySQL에 연결해 봅시다.


데이타베이스 문자열 설정

 

홈스테드에 설치된 MySQL 의 기본 문자열 인코딩이 utf8 이 아니므로 한글 문제가 발생할 수 있으므로 새로운 데이타베이스를 생성시 반드시 문자열 인코딩을 utf8 로 설정해 주어야 합니다.

또는 MySQL 의 기본 인코딩을 utf8 로 설정하는 방법이 있으며 자세한 내용은 http://goo.gl/fWI0FY 를 참고하세요.

DBMS 로 sqlite 를 사용하고 싶다면 다음 명령어를 실행하여 DB 파일을 생성해 주고 config/database.php'default' => 'mysql' 항목을 'default' => 'sqlite' 로 변경해 주어야 합니다.

touch storage/database.sqlite
CODE