나는 Laravel5.4 응용 프로그램에서 작업 중이며 자체 데이터베이스가 있습니다. 일부 비즈니스에서는 amazon 서버의 다른 원격 데이터베이스에 연결하여 일부 데이터를 읽고 일부 데이터를 삽입해야하지만 모든 시도가 실패합니다. 나는 시도 :아마존 서버의 원격 데이터베이스에 연결
.env.php :
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db1
DB_USERNAME=root
DB_PASSWORD=root
DB_EXT_CONNECTION=mysql
DB_EXT_HOST=xx.xx.xx.xx
DB_EXT_PORT=3306
DB_EXT_DATABASE=db2
DB_EXT_USERNAME=root
DB_EXT_PASSWORD=root
구성/database.php :
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
//External Database Credentials
'ext_mysql' => [
'driver' => 'mysql',
'host' => env('DB_EXT_HOST', '127.0.0.1'),
'port' => env('DB_EXT_PORT', '3306'),
'database' => env('DB_EXT_DATABASE', 'forge'),
'username' => env('DB_EXT_USERNAME', 'forge'),
'password' => env('DB_EXT_PASSWORD', ''),
'unix_socket' => env('DB_EXT_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
(가) 내 컨트롤러에서 시도 :
$users = DB::connection('ext_mysql')->table('users')->get();
return $users;
하지만 브라우저에서의 연결은 오랫동안 마침내 준다. 'Connection time out'
아무도 도와 줄 수 있습니까?
내가 물어 첫 번째 질문은, 당신은 예를 들어, MySQL 클라이언트를 사용하여 서버에 연결할 수 있습니다. 관리자, navicat, mysql 작업대? 원격 mysql 서버가 원격 연결을 허용하지 않을 가능성이 있습니다. –
원격 MySQL DB와 같은 소리 때문에 IP가 연결되지 않을 수 있습니다. 외부 DB에서 원격 MySQL 액세스가 허용되는지 확인하십시오. –
외부 DB에서 원격 MySQL 액세스가 허용되는지 어떻게 확인할 수 있습니까? –