yii2 mysql 主从,Yii2的主从数据库设置

项目做大了,数据库主从还是不可少的。使用Yii框架开发,如何设置数据库的主从呢?其实很简单。

先说一个主数据库服务器和多个从数据库服务器的情况,修改配置文件 config/db.php ,其中 slaveConfig 里的为从服务器的公共部分,也可以设置到 slaves 里的各个从服务器的配置里。

'class' => 'yii\db\Connection',

//配置主服务器

'dsn' => 'dsn for master server',

'username' => 'master',

'password' => '',

'charset' => 'utf8',

'tablePrefix' => 'php_',//默认为空

// 配置从服务器

'slaveConfig' =>['username' => 'slave',

'password' => '',

'charset' => 'utf8',

'tablePrefix' => 'php_',

'attributes' =>[//use a smaller connection timeout

PDO::ATTR_TIMEOUT => 10,],],

//配置从服务器组

'slaves' =>[

['dsn' => 'dsn for slave server 1'],['dsn' => 'dsn for slave server 2'],['dsn' => 'dsn for slave server 3'],['dsn' => 'dsn for slave server 4'],],

还可以主服务器也是多个的那主服务器的配置就是下面的样子,其中字符编码集,表前缀等设置参考上面的。

//配置主服务器

'masterConfig' =>['username' => 'master',

'password' => '',

'attributes' =>[//use a smaller connection timeout

PDO::ATTR_TIMEOUT => 10,],],

//配置主服务器组

'masters' =>[

['dsn' => 'dsn for master server 1'],['dsn' => 'dsn for master server 2'],],

配置好了,那么如何使用呢,Yii这点做的特别好,因为你几乎不用修改你的代码,不用考虑你代码里的数据库操作如何使用主服务器配置还是从数据库配置,框架本身已经实现了。默认系统里 execut()函数操作的是主库,其他情况都操作从库,比如queryAll()。而且对于AR操作也是如此,因为他就是基于Yii::$app->db来实现的。

Yii 的详细介绍:请点这里

Yii 的下载地址:请点这里

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值