怎样实现yii2数据库读写分离配置
开始使用数据库首先需要配置数据库连接组件,通过添加 db 组件到应用配置实现("基础的." Web 应用是 config/),DSN( Data Source Name )是数据源名称,用于指定数据库信息.如下所示:
return [
// ...
components => [
// ...
db => [
class => yiidbConnection,
dsn => mysql:host=localhost;dbname=mydatabase, // MySQL, MariaDB
//dsn => sqlite:/path/to/database/file, // SQLite
//dsn => pgsql:host=localhost;port=5432;dbname=mydatabase, // PostgreSQL
//dsn => cubrid:dbname=demodb;host=localhost;port=33000, // CUBRID
//dsn => sqlsrv:Server=localhost;Database=mydatabase, // MS SQL Server, sqlsrv driver
//dsn => dblib:host=localhost;dbname=mydatabase, // MS SQL Server, dblib driver
//dsn => mssql:host=localhost;dbname=mydatabase, // MS SQL Server, mssql driver
//dsn => oci:dbname=//localhost:1521/mydatabase, // Oracle
username => root, //数据库用户名
password => , //数据库密码
charset => utf8,
],
],
// ...
];
请参考PHP manual获取更多有关 DSN 格式信息。 配置连接组件后可以使用以下语法访问:
$connection = Yii::$app->db;
请参考[[yiidbConnection]]获取可配置的属性列表。 如果你想通过ODBC连接数据库,则需要配置[[yiidbConnection::driverName]] 属性,例如:
db => [
class => yiidbConnection,
driverName => mysql,
dsn => odbc:Driver={MySQL};Server=localhost;Database=test,
username => root,
password => ,
],
注意:如果需要同时使用多个数据库可以定义 多个 连接组件:
return [
// ...
components => [
// ...
db => [
class => yiidbConnection,
dsn => mysql:host=localhost;dbname=mydatabase,
username => root,
password => ,
charset => utf8,
],
secondDb => [
class => yiidbConnection,
dsn => sqlite:/path/to/database/file,
],
],
// ...
];
在代码中通过以下方式使用:
$primaryConnection = Yii::$app->db;
$secondaryConnection = Yii::$app->secondDb;
如果不想定义数据库连接为全局应用组件,可以在代码中直接初始化使用:
$connection = new yiidbConnection([
dsn => $dsn,
username => $username,
password => $pa
-
农信系统办公室工作的主要事迹
~年,综合办公室在联社的正确领导下,严格按照联社制定的规章制度履行职责,所分管的各方面工作,都是以联社的方针政策为准则,以联社的长足发展为目标,同时结合全辖的实际情况,努力搞好各方面工作,农信系统办公室工作主要事迹。尽管一年来并未取得突出业绩,但办公室几名员工...
-
删除数据库中重复数据的技巧
数据库的使用过程中由于程序方面的问题有时候会碰到重复数据,重复数据导致了数据库部分设置不能正确设置……方法一declare@maxinteger,@idintegerdeclarecur_rowscursorlocalforselect主字段,count(*)from表名groupby主字段havingcount(*)>1opencur_rowsfetchc...
-
数据库的学习心得
通过学习这门课,我们三个实现了一系列项目功能。我们第一次通过大家的努力完成这个项目,充分体现了我们的团队精神。通过这个项目我们学到了很多,并把这些东西付诸实践,从而获得成功。当然,虽然我们的项目有很多缺陷,比如屏幕效果不够成熟,功能不够多样,实际操作时安全...
-
学生评语管理系统概述
学生评语管理系统概述1.引言学生的操行评语是学生一个学期以来各方面表现的总结,对学生总结过去,确定今后的努力方向起着很重要的作用。因此一个个性化、智能化的学生评语编辑软件是很必要的。它不但可以减轻办主任的工作负担,迅速的写出评语,还可以方便的管理学...