博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Yii2 数据库复制和读写分离
阅读量:7195 次
发布时间:2019-06-29

本文共 1045 字,大约阅读时间需要 3 分钟。

前言

许多数据库支持来获得更好的数据库可用性,以及更快的服务器响应时间,减少数据库的压力。通过数据库复制功能,数据从所谓的主服务器被复制到从服务器。主服务器做增删改,而从服务器做查询。

读写分离前提条件:linux数据库主从同步配置

两个服务器的数据同步是读写分离的前提条件,但这不在yii2读写分离教程内,yii2的数据库读写分离配置,仅仅实现了在主库读写,在从库查询,那么我们首先要配置主从服务器的数据同步。详情查看

附:配置同步成功,后因误操作或者其他原因导致的同步失效,如何排查问题? 查看:

读写分离配置

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了,读写分离的功能由后台代码自动完成,调用者无须关心。

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

转载地址:http://okxkm.baihongyu.com/

你可能感兴趣的文章
SDCC2013大会笔记整理
查看>>
线性表之链表源码
查看>>
Java设置Client Socket链接Server超时时间
查看>>
Gradle Build速度加快终极方法(android studio)
查看>>
CentOS6.8安装360 pika
查看>>
scu oj 4442 Party(2015年四川省acm程序设计竞赛)
查看>>
hdu1133 Buy the Ticket (卡兰特数应用+java大数)
查看>>
Servlet -- 中文乱码解决
查看>>
【案例实战】餐饮企业分店財务数据分析系统解决方式:系统功能开发
查看>>
POJ 3154 Graveyard【多解,数论,贪心】
查看>>
C++ Primer 学习笔记与思考_7 void和void*指针的使用方法
查看>>
<!DOCTYPE>奇葩的问题
查看>>
使用Gitolite搭建Gitserver
查看>>
【Maven】Snapshot和Release版本的区别
查看>>
FZU1920 Left Mouse Button(dfs)
查看>>
迭代器模式
查看>>
poj 1979 dfs
查看>>
(转)论python工厂函数与内建函数
查看>>
HDU1212 Big Number 【同余定理】
查看>>
HDU1069(还是dp基础)
查看>>