Yii Yi2 Db与另一台服务器的连接

Yii Yi2 Db与另一台服务器的连接,yii,yii2,yii2-advanced-app,Yii,Yii2,Yii2 Advanced App,我正在尝试从另一台服务器连接数据库。 是否可以将Yi2 db连接从一台服务器连接到另一台服务器db?在db配置中,您必须在dsn中指定数据库的IP地址: 'dsn' => 'mysql:host=YOUR_IP_HERE;dbname=YOUR_DB_HERE', 就这些 第二台服务器可能不允许在3306端口上进行连接,因此您必须在iptables(linux服务器)中进行连接。这是非常可能的,即使您可以将Yi2应用程序与许多不同的数据库服务器连接。您只需在配置文件中添加一个位,如下所示

我正在尝试从另一台服务器连接数据库。
是否可以将Yi2 db连接从一台服务器连接到另一台服务器db?

在db配置中,您必须在
dsn中指定数据库的IP地址:

'dsn' => 'mysql:host=YOUR_IP_HERE;dbname=YOUR_DB_HERE',
就这些


第二台服务器可能不允许在
3306
端口上进行连接,因此您必须在
iptables
(linux服务器)中进行连接。

这是非常可能的,即使您可以将Yi2应用程序与许多不同的数据库服务器连接。您只需在配置文件中添加一个位,如下所示:

    'components' => [

    'db_server1' => [
        'class' => 'yii\db\Connection',
        'dsn' => 'pgsql:host=localhost;dbname=DB_NAME;port=PORT_CONNECTION',
        'username' => 'DB_USERNAME',
        'password' => 'DB_PASSWORD',
        'charset' => 'utf8',
    ],

    'db_server2' => [
        'class' => 'yii\db\Connection',
        'dsn' => 'pgsql:host=OTHER_HOST;dbname=DB_NAME;port=PORT_CONNECTION',
        'username' => 'DB_USERNAME',
        'password' => 'DB_PASSWORD',
        'charset' => 'utf8',
    ],];

希望可以帮助您

您必须在config文件夹内的web.php中配置另一个db连接:

    'db2'=>[
        'class'=>'yii\db\Connection',
        'dsn' => 'mysql:host=localhost;dbname=dbname',
        'username' => 'root',
        'password' => '',
        'charset' => 'utf8'            
    ],

然后调用db2组件。

Yep,非常可能。当我指定ip地址和db nameith时,甚至可能连接多个数据库检查也会显示此错误由于连接方在一段时间后没有正确响应,连接尝试失败;或者由于连接的主机没有响应,建立的连接失败。“您确定您的第二个服务器数据库允许远程连接吗?我正在提供我的服务器IP,但它使用当前本地计算机的IP。”。显示的错误:用户'root'@'192.168.94.196'(使用密码:否)的SQLSTATE[HY000][1045]访问被拒绝