2019-05-06 14:21:21 1381次浏览 2条回答 0 悬赏 10 金钱

假设我 2 台服务器已经创建好 MySQL,主从关系也都配好。
Yii2 是否项目中 components 中配置好 2个 数据库(比如主 A 从 B)。
后面查询都使用 B 的来查,更新操作用 A 的来处理。
哪位兄弟项目中使用过,劳烦指教下逻辑是否是这样!
如果是的话,那么问题来了,万一哪个 2 货后期用B的来做更新操作了不是蛋疼了?

最佳答案

  • 花椒 发布于 2019-05-06 16:15 举报

    实际上,yii2已经为你想好了,你只管用即可~
    主从配置举例:

    'db'=>[
            'class' => 'yii\db\Connection',
            'charset' => 'utf8',
    
            'masters' => [ //主库列表  
                ['dsn' => 'mysql:host=xxx;dbname=yourdatabase',],
            ],
            'masterConfig' => [ //主库通用配置
                'username' => 'root',
                'password' => '123456',
                'attributes' => [
                    PDO::ATTR_TIMEOUT => 5
                ]
            ],
            'slaves' => [ //从库列表  配置单项
                ['dsn' => 'mysql:host=yyy;dbname=yourdatabase',],
            ],
            'slaveConfig' => [ //从库通用配置
                'username' => 'root',
                'password' => '123456',
                'attributes' => [
                    PDO::ATTR_TIMEOUT => 3
                ]
            ],
        ],
    
    3 条回复
    回复于 2019-05-06 18:02 回复

    请问gii生成的model呢?算主表吗?还是会自动定位主从,使用的过程中更新操作到主表,查询走从表?

    回复于 2019-05-07 09:00 回复

    自动,你只管用,不用考虑主从的问题就是了~

    回复于 2019-05-07 09:26 回复

    感谢您的回答,稍后我试试

您需要登录后才可以回答。登录 | 立即注册
jayrui612
禁止会员

jayrui612

注册时间:2017-03-24
最后登录:2019-05-27
在线时长:42小时30分
  • 粉丝12
  • 金钱3845
  • 威望170
  • 积分5965

热门问题