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 组件。
我正在尝试从另一台服务器连接数据库。 是否可以将 Yii2 数据库连接从一台服务器连接到另一台服务器数据库?
在数据库配置中,您必须在 dsn
:
'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 组件。