可以';t使用Laravel 5实时连接MySQL


Can't connect to MySQL on live with Laravel 5

我在直播服务器上将Laravel 5连接到MySQL时遇到问题,在localhost上似乎可以,但当我将其上传到直播服务器时,它不会连接,并说:

Connector.php第47行PDOException:SQLSTATE[HY000][2003]无法连接到"10.0.0.131'"上的MySQL服务器(111)

这是我的配置

本地服务器:

config/database.php

'mysql' => [
            'driver'    => 'mysql',
            'host'      => env('DB_HOST', '127.0.0.1'),
            'database'  => env('DB_DATABASE', 'MY_DATABASE_NAME'),
            'username'  => env('DB_USERNAME', 'MY_USERNAME'),
            'password'  => env('DB_PASSWORD', 'MY_PASSWORD'),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
],

.env

APP_ENV=local
APP_DEBUG=true
APP_KEY=0jxkNPPT1PVVx0sFdMpxfVeqe5C24HLP
DB_HOST=127.0.0.1
DB_DATABASE=MY_DATABASE_NAME
DB_USERNAME=MY_USERNAME
DB_PASSWORD=MY_PASSWORD
CACHE_DRIVER=file
SESSION_DRIVER=file

实时服务器:

config/database.php

'mysql' => [
            'driver'    => 'mysql',
            'host'      => env('DB_HOST', '10.0.0.131'),
            'database'  => env('DB_DATABASE', 'MY_DATABASE_NAME'),
            'username'  => env('DB_USERNAME', 'MY_USERNAME'),
            'password'  => env('DB_PASSWORD', 'MY_PASSWORD'),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
],

.env

APP_ENV=local
APP_DEBUG=true
APP_KEY=0jxkNPPT1PVVx0sFdMpxfVeqe5C24HLP
DB_HOST=10.0.0.131
DB_DATABASE=MY_DATABASE_NAME
DB_USERNAME=MY_USERNAME
DB_PASSWORD=MY_PASSWORD
CACHE_DRIVER=file
SESSION_DRIVER=file

假设您确实要连接到10.0.0.131并且没有更改默认侦听端口,则这似乎不是配置错误。因为客户端试图连接到您指定的数据库,但由于连接拒绝错误而无法连接,这告诉您存在潜在的TCP问题。

可能的情况有:

  1. 服务未运行
  2. 服务未侦听外部连接
  3. 防火墙阻止连接
  4. 网络问题

您应该尝试登录到远程服务器,然后从那里通过一些shell命令连接到数据库,以验证您是否可以。