Larval 主从读写分离配置
在DB的连接工厂中找到以下代码
.../vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php
/** * Get the read configuration for a read / write connection. * * @param array $config * @return array */
protected function getReadConfig(array $config)
{ $readConfig = $this->getReadWriteConfig($config, 'read'); return $this->mergeReadWriteConfig($config, $readConfig);
} /** * Get a read / write level configuration. * * @param array $config * @param string $type * @return array */ protected function getReadWriteConfig(array $config, $type) { if (isset($config[$type][0])) { return $config[$type][array_rand($config[$type])]; } return $config[$type]; } /** * Merge a configuration for a read / write connection. * * @param array $config * @param array $merge * @return array */ protected function mergeReadWriteConfig(array $config, array $merge) { return array_except(array_merge($config, $merge), ['read', 'write']); }
工厂类通过随机获取读DB配置来进行读取操作,由此可推出DB的配置应该如下
'mysql' => [ 'write' => [ 'host' => '192.168.1.180', ], 'read' => [ ['host' => '192.168.1.182'], ['host' => '192.168.1.179'], ], 'driver' => 'mysql', 'database' => 'database', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ]
加强版,支持多主多从,支持独立用户名和密码,配置如下
'mysql' => [ 'write' => [ ['host' => '192.168.1.180','username' => '', 'password' => '', ], ], 'read' => [ [ 'host' => '192.168.1.182', 'username' => '', 'password' => '', ], [ 'host' => '192.168.1.179', 'username' => '', 'password' => '', ], ], 'driver' => 'mysql', 'database' => 'database', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ]
验证
开启MySQL的general-log,通过tail -f的方式监控log变化来确定配置是否生效
更多PHP相关技术请搜索千锋PHP,做真实的自己,用良心做教育。
互联网+时代,时刻要保持学习,携手千锋PHP,Dream It Possible。
Larval 主从读写分离配置相关推荐
- [PHP] Larval 主从读写分离配置
原文链接 摘要: 在DB的连接工厂中找到以下代码 .../vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionF ...
- Redis主从读写分离配置
环境描述: 主redis:192.168.10.1 6379 从redis:192.168.10.2 6380 一.主从配置 1.将主从redis配置文件redis.conf中的aemonize no ...
- MyCat分布式数据库集群架构工作笔记0011---高可用_主从读写分离配置
技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 上一节咱们配置好了主从复制,确认主从复制,要在从机上执行命令, 显示slave_io_runnin ...
- Amoeba实现mysql主从读写分离
Amoeba实现mysql主从读写分离 这段在网上看了下关于amoeba的文章,总体感觉好像要比mysql-proxy好的多,也参考了不少的资料,此文章可能与其他文章作者会有雷同的地方,请谅解,但是此 ...
- 1051 mysql 主从_mysql配置主从读写分离的一些想法
这篇文章不是记录如何配置读写分离的技术文章,关于如何使用变形虫进行读写分离配置的文章网上一搜一大把.这篇文章旨在描述在实施主从读写分离过程中可能会遇到的问题,以及一些解决方案和想法. 数据库引擎的选择 ...
- MySQL的主从配置+SpringBoot的MySQL读写分离配置
MySQL的主从复制 点击前往查看MySQL的安装 1.主库操作 vim /etc/my.cnf 添加如下配置 log-bin=mysql-bin #[必须]启用二进制日志 server-id=128 ...
- 基于 EntityFramework 的数据库主从读写分离架构(1) - 原理概述和基本功能实现...
回到目录,完整代码请查看(https://github.com/cjw0511/NDF.Infrastructure)中的目录: src\ NDF.Data.EntityFramework\Maste ...
- Mysql一主多从和读写分离配置简记
Mysql一主多从和读写分离配置简记 标签: mysql数据库服务器class数据库servermanager 2012-05-30 16:44 14981人阅读 评论(1) 收藏 举报 分类: 数 ...
- mysql 配置文件在哪_MySQL+MyCat分库分表 读写分离配置
一. MySQL+MyCat分库分表 1 MyCat简介 java编写的数据库中间件 Mycat运行环境需要JDK. Mycat是中间件,运行在代码应用和MySQL数据库之间的应用. 前身: corb ...
最新文章
- 写下thinkphp5和thinkphp3.2的不同
- 收藏 | 49 个 Python 学习资源
- h1、h2、h3标签及strong标签对页面seo的影响
- RabbitMQ安装和使用(和Spring集成)
- 树的存储结构 - 数据结构和算法41
- Linux下的高级文件权限ACL
- 【Docker】常用命令简述十一
- 华为hs8545m如何复位_在华为东莞松山湖基地,见证一场始于AI质检的智能制造变革...
- 数字电子技术逻辑运算
- AI 杀疯了,NovelAI开源教程
- 原创|批处理|批处理安卓log抓取工具
- 【wpa_supplicant】从 assoc 动作窥伺supplicant与driver的交互(二)
- kubeadm部署1.11.1的k8s集群
- 机器学习笔记之基础概念
- mysql启动报错之[ERROR] Found option without preceding group in config file /etc/my.cnf at line
- SSD算法详解 及其 keras实现 (下)
- LeetCode 1665. 完成所有任务的最少初始能量
- 西部数据硬盘序列号查询网站
- 视频转码编辑工具:Compressor for Mac(4.5.4)
- 2019区块链概念股龙头
热门文章
- html5+css3笔记整理
- 天宝数字水准数据处理和生成
- 团队协作之 Git 提交
- ati自定义分辨率_修改三国无双 游戏自定义分辨率教学 6/19更新
- On SDK version 23 and up, your app data will be automatically backed up and restored on app install.
- 通过手机使用广域网访问局域网的服务器
- 哈工大CSAPP大作业 2022
- 读文献——《Very Deep Convolutional Networks for Large-scale Image Recognition》
- 陕西农心邮箱服务器,农心杯朴廷桓超时疑云分析
- 手机号码是如何构成的?