首页 > 解决方案 > 连接尝试失败,连接方没有正确响应

问题描述

SQLSTATE[HY000] [2002] 连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。(SQL:SELECT * FROM 用户)

我想在我的本地项目中连接到我的远程数据库,但是当我这样做时,我得到了上面列出的错误。它适用于我的另一个数据库(来自本地主机),我如何连接我的远程服务器数据库?

数据库.php

'mysql2' => [
    'driver' => 'mysql',
    'host' => 'domain.com',
    'port' => '3306',
    'database' => 'mybd',
    'username' => 'username',
    'password' => 'password',
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'options' => ['mode' => 'ssl'],
    'strict' => false,
    'engine' => null,
]

控制器

public function test()
{
    $users = DB::connection('mysql2')->select("SELECT * FROM users");
    dd($users);
}

标签: phpmysqldatabaselaravelremote-access

解决方案


解决方案:

  1. 尝试SSL'options'=>['mode'=>'ssl'].
  2. 暂时禁用远程数据库上的防火墙(如果您有访问权限)只是为了测试。如果它有效,则允许或在远程服务器上添加源http://localhost 。
  3. 使用 VM 或 docker,在其中之一上配置 SSL。

推荐阅读