2014-09-07 2 views
0

나는 데이터베이스 "하여 MyDatabase"를 만들어 내가 변경 작동하지 않는 설정> database.php에 :laravel에서 데이터베이스 이름을 변경하는 방법은 무엇입니까? 설정을 변경> database.php는

route.php 내부 지금
'mysql' => array(
     'driver' => 'mysql', 
     'host'  => 'mysite.local', 
     'database' => 'mydatabase', 
     'username' => 'myusername', 
     'password' => 'mypassword', 
     'charset' => 'utf8', 
     'collation' => 'utf8_unicode_ci', 
     'prefix' => '', 
    ), 

난이 :

Route::get('/', function() 
{ 
    $data=DB::table('user')->get(); 
    return $data; 
}); 

homestead.user 

대신

,617,451의 :

laravel는 액세스를 시도 할 것을 보여준다 예외를 보낸다

Route::get('/', function() 
{ 
    $data=DB::table('mydatabase.user')->get(); 
    return $data; 
}); 

작동합니다 :

mydatabase.user 

은 지금은에 route.php 변경하는 경우! 이

중 하나

$data=DB::table('mydatabase.user')->get(); 
작동하지 않습니다 도

,

'mysql' => array(
     'driver' => 'mysql', 
     'host'  => 'mysite.local', 
     'database' => 'mydatabase', 
     'username' => 'myusername', 
     'password' => 'mypassword', 
     'charset' => 'utf8', 
     'collation' => 'utf8_unicode_ci', 
     'prefix' => '', 
    ), 

그러나이 시간 :

또한 this question에 따라 내가 로컬 설정>> database.php을 변경! 이번에는 또 다른 예외를 던져 : laravel 대신 "하여 MyDatabase"의 "농가"데이터베이스를 사용하려고하는 이유

PDOException (2002) 
SQLSTATE[HY000] [2002] Connection refused 

내 질문은? 나는 다른 것을 바꿔야 하나? 편집이

: 내가

'mysql' => array(
     'driver' => 'mysql', 
     'host'  => 'localhost', 
     'database' => 'mydatabase', 
     'username' => 'myusername', 
     'password' => 'mypassword', 
     'charset' => 'utf8', 
     'collation' => 'utf8_unicode_ci', 
     'prefix' => '', 
    ), 

로컬는 config// database.php을 변경하고 모든 것이 잘 작동! (mysite.local을 localhost로 변경했습니다.) 내/etc/hosts에 로컬 호스트를 정의하지 않았으므로 laravel이 해당 호스트를 찾는 이유는 무엇입니까?

+0

는 MySQL의 또는 homesead이 있는가, 설정/databse.php에서 기본 키를 확인.예, 당신은 env 파일에서 db config를 얻었을 것입니다. 그래서 디폴트 " 'default'=> env ('DB_CONNECTION', 'mysql'), '' 'default'=> 'mysql' –

답변

0

호스트는 로컬 호스트 여야합니다. localhost라는 단어는 laravel이 실행되고있는 컴퓨터를 의미합니다. mysite.local은 아마도이 컴퓨터에있는 가상 사이트 일 것입니다. MySQL 자체 설치가 없습니다. 모든 가상 사이트는 동일한 mysql을 공유합니다. 그들은 단지 다른 데이터베이스를 사용할 것입니다.

어쨌든 내 설정이 어떻게 작동하는지.

0
  • 문제는 기본 연결, 현재 기본 연결 설정이

    으로 .env의 파일에서 점점로 설정/database.php에

    '기본'=> ENV ('DB_CONNECTION', 'MySQL을'),

그래서으로 변경 :

'default' => 'mysql', 
관련 문제