Yii2 数据库复制和读写星散

媒介

很多数据库支撑数据库复制来取得更好的数据库可用性,以及更快的服务器相应时候,削减数据库的压力。经由过程数据库复制功用,数据从所谓的主服务器被复制到从服务器。主服务器做增编削,而从服务器做查询。

读写星散前提条件:linux数据库主从同步设置

两个服务器的数据同步是读写星散的前提条件,但这不在yii2读写星散教程内,yii2的数据库读写星散设置,仅仅完成了在主库读写,在从库查询,那末我们首先要设置主从服务器的数据同步。概况检察linux数据库主从同步设置

附:设置同步胜利,后因误操纵或许其他缘由致使的同步失效,怎样排查题目? 检察:mysql数据主从同步失利解决方案

读写星散设置

linux主从服务器数据库同步完成以后,我们就可以够最先yii2的读写星散设置,官方也有这方面的文档,但说的并不清晰,也没有现实的例子,我在这里加以完美。

1、翻开我们的数据库设置文件common\config\main-local.php在db属性中做以下设置:

'db' => [
    'class' => 'yii\db\Connection',
     
    // 设置主服务器
    'dsn' => 'mysql:host=192.168.0.1;dbname=hyii2',
    'username' => 'root',
    'password' => 'root',
    'charset' => 'utf8',
     
    // 设置从服务器
    'slaveConfig' => [
        'username' => 'root',
        'password' => 'root',
        'attributes' => [
            // use a smaller connection timeout
            PDO::ATTR_TIMEOUT => 10,
        ],
        'charset' => 'utf8',
    ],
     
    // 设置从服务器组
    'slaves' => [
            ['dsn' => 'mysql:host=192.168.0.2;dbname=hyii2'],
        ],
],

如上设置就可以完成yii2数据库读写星散的操纵,很简单,只需一个设置就ok了,读写星散的功用由背景代码自动完成,调用者不必体贴。

上面只是一个一主一从的设置,假如要一主多从,或许多主多从,参考此例以及官方文档即可完成。 官方文档

    原文作者:zacklee
    原文地址: https://segmentfault.com/a/1190000008575832
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞