Appearance
MySQL主从配置
概述
DSMall Pro推荐使用云数据库服务(阿里云RDS、腾讯云CDB、华为云RDS等),这些服务提供自动的主从复制、读写分离、高可用等功能。通过ThinkPHP配置可以轻松连接云数据库的主从实例。
主从复制架构
1. 架构图
云数据库主实例 (Master) 云数据库只读实例1 云数据库只读实例2
↓ ↓ ↓
写入数据 读取数据 读取数据
↓ ↓ ↓
ThinkPHP应用 ←─────────── ThinkPHP应用 ←─────────── ThinkPHP应用
↓ ↓ ↓
自动读写分离 ←─────────── 自动负载均衡 ←─────────── 自动故障转移2. 云数据库优势
- 自动主从复制:无需手动配置,云服务商自动维护
- 读写分离:自动将读请求分发到只读实例
- 高可用:自动故障转移,99.95%+可用性
- 弹性扩展:可根据业务需求动态调整
- 备份恢复:自动备份,支持时间点恢复
ThinkPHP配置
1. 基础配置
编辑 php-server/config/database.php 文件:
php
<?php
return [
'default' => 'mysql',
'connections' => [
'mysql' => [
// 启用分布式数据库
'deploy' => 1,
// 数据库类型
'type' => 'mysql',
// 服务器地址(主实例,只读实例1,只读实例2)
'hostname' => ['rm-xxx.mysql.rds.aliyuncs.com', 'rm-xxx.mysql.rds.aliyuncs.com', 'rm-xxx.mysql.rds.aliyuncs.com'],
// 数据库名
'database' => 'ds_admin',
// 数据库用户名
'username' => ['root', 'slave', 'slave'],
// 数据库密码
'password' => ['your_password', 'slave_password', 'slave_password'],
// 数据库连接端口
'hostport' => ['3306', '3306', '3306'],
// 数据库字符集
'charset' => 'utf8mb4',
// 数据库表前缀
'prefix' => 'ds_',
],
],
];2. 环境变量配置
编辑 .env 文件:
env
# 数据库配置
DB_TYPE=mysql
DB_HOST=rm-xxx.mysql.rds.aliyuncs.com,rm-xxx.mysql.rds.aliyuncs.com,rm-xxx.mysql.rds.aliyuncs.com
DB_NAME=ds_admin
DB_USER=root,slave,slave
DB_PASS=your_password,slave_password,slave_password
DB_PORT=3306,3306,3306
DB_CHARSET=utf8mb4
DB_PREFIX=ds_3. 云数据库连接地址获取
3.1 阿里云RDS
- 登录阿里云控制台
- 进入RDS管理控制台
- 选择实例,查看连接信息
- 获取主实例和只读实例的连接地址
3.2 腾讯云CDB
- 登录腾讯云控制台
- 进入云数据库MySQL控制台
- 选择实例,查看连接信息
- 获取主实例和只读实例的连接地址
3.3 华为云RDS
- 登录华为云控制台
- 进入云数据库RDS控制台
- 选择实例,查看连接信息
- 获取主实例和只读实例的连接地址
配置说明
1. 关键参数说明
| 参数 | 说明 | 值 |
|---|---|---|
deploy | 启用分布式数据库 | 1=启用, 0=禁用 |
hostname | 服务器地址数组 | ['主实例', '只读实例1', '只读实例2'] |
username | 用户名数组 | ['主用户', '从用户', '从用户'] |
password | 密码数组 | ['主密码', '从密码', '从密码'] |
hostport | 端口数组 | ['3306', '3306', '3306'] |
2. 读写分离原理
- 写操作:自动路由到主实例(第一个服务器)
- 读操作:自动路由到只读实例(除第一个外的其他服务器)
- 负载均衡:多个只读实例间自动负载均衡
3. 云数据库注意事项
- 主实例:必须是第一个连接地址
- 只读实例:从第二个开始的所有连接地址
- 网络访问:确保应用服务器能访问云数据库
- 安全组:配置正确的安全组规则
- 白名单:将应用服务器IP加入数据库白名单
- 连接数限制:注意云数据库的连接数限制
- 性能监控:使用云监控查看数据库性能
部署检查清单
配置检查
- [ ] ThinkPHP配置正确
- [ ] 环境变量配置正确
- [ ] 云数据库连接地址正确
- [ ] 数据库用户权限正确
- [ ] 安全组配置正确
- [ ] 白名单配置正确
功能检查
- [ ] 读写分离正常
- [ ] 主从数据同步正常
- [ ] 负载均衡正常
- [ ] 连接池正常
- [ ] 云监控正常
性能检查
- [ ] 数据库性能正常
- [ ] 连接数使用正常
- [ ] 响应时间正常
- [ ] 资源使用正常
最后更新:2024-01-20
维护者:DSPlatform技术团队(德尚网络)
获取帮助
如果您在使用过程中遇到问题,可以通过以下方式获取帮助:
- 官方网站:https://www.csdeshang.com
- 电话咨询:15364080101(微信同号)
- QQ咨询:858761000
- 邮箱咨询:858761000@qq.com
- 工作时间:工作日 9:00-18:00
- 微信咨询:扫码添加微信

版权所有 © 2014-至今 德尚网络