当前位置: 首页 > 后端技术 > Node.js

Yii2数据库复制与读写分离

时间:2023-04-03 13:07:29 Node.js

前言许多数据库都支持数据库复制,以提高数据库可用性,加快服务器响应时间,降低数据库压力。使用数据库复制,数据从所谓的主服务器复制到从服务器。主服务器做增删改查,从服务器做查询。读写分离前提条件:linux数据库主从同步配置两台服务器的数据同步是读写分离的前提条件,但是yii2读写分离教程中没有这个。yii2数据库读写分离配置只是在主库实现了读写,在从库查询,那么我们首先要配置主从服务器的数据同步。详见linux数据库主从同步配置。附:配置同步成功,但由于误操作或其他原因导致同步失败。如何解决问题?查看:mysql数据主从同步失败解决方案读写分离配置linux主从服务器数据库同步完成,我们可以启动yii2的读写分离配置,官方有这方面的文档,但不是很清楚,又没有实际例子,我是来改进的。1、打开我们的数据库配置文件common\config\main-local.php,在db属性中做如下配置:'db'=>['class'=>'yii\db\Connection',//配置mainserver'dsn'=>'mysql:host=192.168.0.1;dbname=hyii2','username'=>'root','password'=>'root','charset'=>'utf8',//配置从服务器'slaveConfig'=>['username'=>'root','password'=>'root','attributes'=>[//使用更小的连接超时PDO::ATTR_TIMEOUT=>10,],'charset'=>'utf8',],//配置从服务器组'slaves'=>[['dsn'=>'mysql:host=192.168.0.2;dbname=hyii2'],],,以上配置即可实现yii2数据库读写分离的操作非常简单,只要一个配置ok,读写分离的功能由后台代码自动完成,调用者无需关心。以上只是一主一从的配置。如果你想要一主多从,或者多主多从,可以参考这个例子和官方文档完成。官方文件