Yii2 Db 连接到另一台服务器

Yii2 Db Connection to another server

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

在数据库配置中,您必须在 dsn:

中指定数据库的 IP 地址
'dsn' => 'mysql:host=YOUR_IP_HERE;dbname=YOUR_DB_HERE',

仅此而已。

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

很有可能,甚至你可以将 yii2 应用程序连接到许多不同的数据库服务器。你只需要在配置文件中添加一点如下:

    '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',
    ],];

希望能帮到你

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

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

然后调用 db2 组件。