thinkphp5主从数据库
时间: 2025-01-01 17:32:04 浏览: 10
### ThinkPHP5 主从数据库配置与使用教程
#### 配置文件设置
在 `config/database.php` 文件中定义主库和从库的连接信息:
```php
return [
// 默认使用的数据库连接配置
'default' => env('database.driver', 'mysql'),
// 自定义数据源名称,默认为 master 和 slave[]
'connections' => [
// 主服务器
'master' => [
'type' => 'mysql',
'hostname' => '127.0.0.1',
'database' => 'test',
'username' => 'root',
'password' => '',
'hostport' => '3306',
'charset' => 'utf8mb4',
'prefix' => ''
],
// 从服务器列表
'slave' => [
[
'type' => 'mysql',
'hostname' => '192.168.1.101',
'database' => 'test',
'username' => 'root',
'password' => '',
'hostport' => '3306',
'charset' => 'utf8mb4',
'prefix' => ''
],
[
'type' => 'mysql',
'hostname' => '192.168.1.102',
'database' => 'test',
'username' => 'root',
'password' => '',
'hostport' => '3306',
'charset' => 'utf8mb4',
'prefix' => ''
]
]
],
];
```
此段代码展示了如何在ThinkPHP5框架内指定多个从属数据库实例[^1]。
#### MySQL主从复制配置
对于MySQL本身而言,需先完成主从架构搭建工作。这涉及修改my.cnf配置文件并执行SQL命令来启动同步过程[^4]。
#### 使用场景说明
当应用程序运行时,所有的写入操作会自动路由到主节点;而查询请求则会被分发给任意一个可用的只读副本。这种设计不仅提高了系统的并发处理能力,还增强了整体稳定性[^2]。
为了确保负载均衡效果最佳,建议合理规划各节点硬件资源分配比例以及网络带宽情况。
阅读全文