2015-01-29 3 views
4

저는 Laravel 5에서 대규모 프로젝트를 시작합니다. 이전에는 모든 현지 작업에 XAMPP를 사용했습니다. 이제 우리는 Homestead에서 일하게 될 것입니다. Homestead가 설치되어 실행 중이고 Laravel 5 프로젝트를 부팅했습니다. 잘 작동합니다.Laravel 5 농가에서 작업하는 동안 XAMPP에서 생성 된 데이터베이스에 액세스

우리는 Laravel 마이그레이션을 사용하지 않고 MySQL 데이터베이스 작업을 위해 XAMPP-PHPMyAdmin과 함께 MYSQL workbench를 사용합니다. 내 질문은 : 어떻게 홈스테드 VM 내 에서이 MySQL 데이터베이스에 액세스 할 수 있습니까?

app/Config/database.php에서 모든 종류의 설정을 시도했습니다. 그러나 아무 것도 작동하지 않습니다.

여기에서 관련 질문을 둘러 보았지만 아무도 내 질문의 기본에 대답하는 것 같지 않습니다. 홈스테이에서 원격 데이터베이스 (또는 내 호스트 컴퓨터에있는 데이터베이스)에 액세스 할 수 있습니까?

패키지 (https://github.com/Xethron/migrations-generator)를 사용하여 홈스테이트에서 DB를 복제하기 위해 SQL 덤프에서 마이그레이션을 만들 수있는 곳을 읽었습니다. 이를 해결 방법으로 사용하여 Laravel 응용 프로그램을 XAMPP에서 설정 한 DB에 연결하고 마이그레이션을 생성 한 다음 Homestead DB에 다시 연결하고 마지막으로 마이그레이션을 실행할 수 있습니다. 나는 이것이 작동 할 수 있다고 생각하지만 나는 직접 연결을 선호 할 것이다. Homestead VM 외부의 데이터베이스에 연결하는 방법에 대한 제안은 언제든지 환영합니다.

답변

1

나는 또한 Laravel과 Homestead에도 비교적 익숙하지만 약간의 행운이있다.

처음에는 Homestead에서 MySQL 인스턴스를 사용하지 않는 것이 좋겠지 만, 당신의 이유가 있다면 당신의 말에 따라 당신을 데려 갈 것입니다. 귀하의 "Homestead"디렉토리에서 Homestead VM으로 "ssh를 방치"할 수 있습니다.

여기에 mysql -u homestead -psecret dbname을 데이터베이스에 저장하고 XAMPP 인스턴스처럼 설정할 수 있습니다. 데이터베이스와 일치하는 한 Laravel 모델을 사용하고 있다면 괜찮을 것입니다.

VM 내에서 다른 데이터베이스에 연결할 때 명령 줄에서 외부 데이터베이스에 연결하려고 했습니까? XAMPP MySQL 인스턴스가 원격 연결을 수신하도록 구성되어 있고 사용자를 올바르게 구성한 경우, Vagrant VM 내에서 명령 줄을 통해 테스트 할 수 있어야합니다. 192.168.1.196은 연결할 MySQL 인스턴스가 들어있는 상자/VM의 IP 주소입니다. XAMPP를 실행하고 있지는 않지만 VM의 Vagrant Homestead에서 내 로컬 네트워크 주소를 제공하여 로컬 컴퓨터에서 실행중인 다른 MySQL 인스턴스로 VM을 연결할 수있었습니다. "127.0.0.1"은 Vagrant VM이 그 자체로 인식하기 때문에 분명히 작동하지 않습니다.

mysql -u user -ppassword dbname -h 192.168.1.196 

희망이 있습니다.

0

< 1> 열기 .env의은 (laravel의 루트에서 찾을 수 있습니다)

< 2> 변경 DB_HOST 당신의 LAN IP 주소 (198.168.0.11 같은)에

DB_HOST = LAN_IP

< 3> 이제 로그인 정보 새 사용자를 추가 탭 에 phpMyAdmin과 권한에 가서 입력

하지 Any_Host로

선택 호스트 (또는 PC 이름을 가진 호스트를 입력)

관련 문제