- 相关推荐
怎样实现yii2数据库读写分离配置
开始使用数据库首先需要配置数据库连接组件,通过添加 db 组件到应用配置实现("基础的" Web 应用是 config/web.PHP),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
【怎样实现yii2数据库读写分离配置】相关文章:
怎样实现演讲的预期效果07-02
数据库课程网站的设计与实现开题报告07-01
腾讯的国际足球数据库是如何实现的?07-13
股市投资怎样实现复利增长?07-02
企业怎样实现高效绩效考核07-03
怎样在web实现漂亮的动态图表?07-03
微相框的微信功能是怎样实现的?07-09
怎样实现课堂中的师生角色转换07-03
QQ传文件的秒传功能怎样实现?07-10
怎样才能实现个人职业发展规划?07-13