首页 > 解决方案 > Yii2 连接到另一台服务器上 Docker 实例内的 MYSQL 数据库

问题描述

我有这种情况:

我在数据中心中有一些相互连接的服务器,例如:

我需要在 Yii2 中创建一个从服务器 10.0.0.1 到服务器 10.0.0.2 的连接,但是我可以在 10.0.0.2 中看到这个数据库的唯一方法是首先通过 SSH 创建一个到该服务器的隧道,然后创建到 localhost 的连接在 docker 容器中分配的特定端口(至少我在 heidisql 上是这样设置的)。

在新的数据库连接之前,我不知道如何使用 Yii2 创建 SSH 隧道。

到目前为止,这将是我的 db2.php 文件:

   return [
        'class' => 'yii\db\Connection',
        'dsn' => 'mysql:host=127.0.0.1;port=33008;dbname=test_db',
        'username' => 'user',
        'password' => 'pass',
        'charset' => 'utf8',
        'attributes'=>[ PDO::ATTR_TIMEOUT => 6000, PDO::ATTR_PERSISTENT => TRUE ,  PDO::MYSQL_ATTR_INIT_COMMAND => 'select 1', ],
        'enableSchemaCache'     => true,
        'schemaCacheDuration'   => 600,
        'schemaCache'           => 'cache',
]

我只是缺少 SSH 隧道,所以我可以连接到 10.0.0.2

我希望有人可以帮助我,谢谢。

标签: phpmysqldockeryii2

解决方案


推荐阅读