2015-10-26 37 views
8

Uczę się korzystać z Homestead 2.0. Mam istniejącą bazę danych MySQL na moim komputerze lokalnym. Jeśli utworzę nowy projekt laravel 5.0 na maszynie wirtualnej Homestead, co powinienem zrobić, aby połączyć się z istniejącą bazą danych?Jak importować istniejącą bazę danych do zagrody?

  1. Jeśli muszę przeprowadzić migrację bazy danych w Homestead, jak należy to zrobić?
  2. Jeśli mogę połączyć się z moją bazą danych z Homestead, jak mam ją skonfigurować na Homestead?

Dzięki.

Odpowiedz

1

Traktuj instalację Homestead tak, jakby był zdalnym hostem działającym na zupełnie innym komputerze. Homestead nie wie nic o twoim lokalnym hoście, a zatem nie może połączyć się bezpośrednio z lokalnie hostowanymi bazami danych MySQL.

Instalacja Twojej Homestead działa na własnym adresie IP. Cokolwiek to jest IP (prawdopodobnie 192.168.10.10), można się z nim połączyć za pomocą MySQL Workbench lub SequelPro używając następujących poświadczeń:

Host: Twój Homestead IP
port: 3306
Nazwa: Gospodarstwo
Hasło: ukryty

można znaleźć swój adres IP, otwierając poniższy plik:

~/.homestead/Homestead.yaml

Jeśli jesteś na Windows, to byłoby to prawdopodobne być:

C: \ Users \ your-login \ .homestead \ Homestead.yaml

W celu interakcji z bazy danych, upewnij się, Homestead jest uruchomiony pierwszy uruchamiając vagrant up w katalogu Homestead, w przeciwnym razie będzie błąd.

Następnie można wyeksportować lokalną bazę danych i zaimportować ją z powrotem do jednej z baz danych Homestead, korzystając z poświadczeń opisanych powyżej.

9

Miałem ten sam problem; to w jaki sposób mogę rozwiązać to

byłem opracowanie laravel 4.2 projektu z -WampSerwer jako środowisko programistyczne, później zdecydowałem się zmienić laravel zagroda jako środowisko programistyczne

kroki:

zapisać swoją bazę danych jako .sql file (mój przypadek: wywożone z phpMyAdmin i zapisać jako db.sql)

Umieść plik .sql w katalogu głównym projektu

przejdź do katalogu zagrody

C:\Users\chebaby\Homestead (master) 

Nabierz Vagrant polu

vagrant ssh 

Przejdź do katalogu głównego projektu w polu (w którym został zapisany plik .sql wczesnego darabase w moim przypadku: db.SQL)

[email protected]:~$ cd Code/project-folder/ 

Logowanie do MySQL

[email protected]:~/Code/project-folder$ mysql --user=homestead --password=secret 

aby sprawdzić, czy baza danych już istnieją uruchomić

mysql> show databases; 

Else utworzyć bazę danych, uruchamiając polecenie

mysql> create database yourdatabasename; 

teraz że jesteś pewien swojego da tabase jest tworzony, zjazd mysql z powrotem do Vagrant szybkiego

mysql> exit; 

Importuje plik bazy danych, uruchamiając ten

[email protected]:~/Code/project-folder$ mysql --user=homestead --password=secret yourdatabasename < db.sql 

Wszystko co musisz zrobić, to sprawdzić, czy istniejące bazy danych z sukcesem importowane

Logowanie do MySQL

[email protected]:~/Code/project-folder$ mysql --user=homestead --password=secret 

następnie uruchomić

mysql> use yourdatabasename 

Aby wyświetlić tabele uruchomić

mysql> show tables; 

miejmy nadzieję, że odpowiedzi na pytanie

Dodatkowe zasoby

Laravel Homestead- MySQL default credentials and database

How to import an SQL file using the command line in MySQL?