媒介
很多数据库支撑数据库复制来取得更好的数据库可用性,以及更快的服务器相应时候,削减数据库的压力。经由过程数据库复制功用,数据从所谓的主服务器被复制到从服务器。主服务器做增编削,而从服务器做查询。
读写星散前提条件: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了,读写星散的功用由背景代码自动完成,调用者不必体贴。
上面只是一个一主一从的设置,假如要一主多从,或许多主多从,参考此例以及官方文档即可完成。 官方文档