Laravel에서 MySQL에 연결 오류를 발생시키지 않기 위해 [MAMP 환경]
~ 일의 경위 ~
인증 기능을
php artisan make:auth
로 만들고 migrate로 인증 테이블을 만들려고 합니다.php artisan migrate에서 오류가 발생했습니다 ...
SQLSTATE[HY000] [2002] Connection refused
(SQL: select * from information_schema.tables where table_schema =
laravel and table_name = migrations and table_type = 'BASE TABLE')
현재 Laravel 공부중입니다만, 지금까지 SQLite를 사용하고 있어, 이번은 기본적으로 MySQL에 연결하려고 하면, 조금 고전했습니다.
원인은
.envとdatabase.phpの記述ミス
였습니다만, 같은 함정에 빠지는 분에게 참고가 된다고 생각합니다.환경
OS : macOS Mojave 10.14.5
MAMP : 5.3
Laravel : 5.8.x
MAMP가 mac에 들어있는 전제로 진행합니다.
순서 1: phpmyadmin으로 데이터베이스 작성
phpmyadmin으로 DB를 만들어 둡니다.
이번은
Laravel
로 했습니다.순서 2:MAMP의 정보를 앞두고
앱을 시작하면 열리는 웹페이지를 타고 있네요.
이 소켓이 간이됩니다.
그럼 먼저 .env에서 수정하자.
3단계: .env 수정
기본값은 다음과 같습니다.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=
이것을 MAMP의 정보를 바탕으로 다음과 같이 바꿉니다.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=8889
DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=root
DB_SOCKET가 새롭게 들어가, 그 외 각종 정보도 바꿉니다.
DB_DATABASE
는 방금 만든 Laravel 데이터베이스를 지정합니다.그 다음은 database.php입니다.
4단계: database.php 수정
기본 database.php는 다음과 같습니다.
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
그것을 다음과 같이 바꿉니다.
'port' => env('DB_PORT', '8889'),
'database' => env('DB_DATABASE', 'laravel'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', 'root'),
이상이 됩니다.
php artisan migrate
로 테이블을 만들 수 있을까...했어.
확인을 위해 phpmyadmin을 엽니다.
테이블이 생성됨 = DB에 연결됨
좋았어요 😌
Reference
이 문제에 관하여(Laravel에서 MySQL에 연결 오류를 발생시키지 않기 위해 [MAMP 환경]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/samuraibrass/items/f95a0608fbcb65e39bb0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)