原文链接

摘要: 在DB的连接工厂中找到以下代码 .../vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php /** * Get the read configuration for a read / write connection.

在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] Larval 主从读写分离配置相关推荐

  1. Larval 主从读写分离配置

    在DB的连接工厂中找到以下代码 .../vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.ph ...

  2. Redis主从读写分离配置

    环境描述: 主redis:192.168.10.1 6379 从redis:192.168.10.2 6380 一.主从配置 1.将主从redis配置文件redis.conf中的aemonize no ...

  3. MyCat分布式数据库集群架构工作笔记0011---高可用_主从读写分离配置

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 上一节咱们配置好了主从复制,确认主从复制,要在从机上执行命令, 显示slave_io_runnin ...

  4. Amoeba实现mysql主从读写分离

    Amoeba实现mysql主从读写分离 这段在网上看了下关于amoeba的文章,总体感觉好像要比mysql-proxy好的多,也参考了不少的资料,此文章可能与其他文章作者会有雷同的地方,请谅解,但是此 ...

  5. 1051 mysql 主从_mysql配置主从读写分离的一些想法

    这篇文章不是记录如何配置读写分离的技术文章,关于如何使用变形虫进行读写分离配置的文章网上一搜一大把.这篇文章旨在描述在实施主从读写分离过程中可能会遇到的问题,以及一些解决方案和想法. 数据库引擎的选择 ...

  6. MySQL的主从配置+SpringBoot的MySQL读写分离配置

    MySQL的主从复制 点击前往查看MySQL的安装 1.主库操作 vim /etc/my.cnf 添加如下配置 log-bin=mysql-bin #[必须]启用二进制日志 server-id=128 ...

  7. 基于 EntityFramework 的数据库主从读写分离架构(1) - 原理概述和基本功能实现...

    回到目录,完整代码请查看(https://github.com/cjw0511/NDF.Infrastructure)中的目录: src\ NDF.Data.EntityFramework\Maste ...

  8. Mysql一主多从和读写分离配置简记

    Mysql一主多从和读写分离配置简记 标签: mysql数据库服务器class数据库servermanager 2012-05-30 16:44 14981人阅读 评论(1) 收藏 举报  分类: 数 ...

  9. mysql 配置文件在哪_MySQL+MyCat分库分表 读写分离配置

    一. MySQL+MyCat分库分表 1 MyCat简介 java编写的数据库中间件 Mycat运行环境需要JDK. Mycat是中间件,运行在代码应用和MySQL数据库之间的应用. 前身: corb ...

最新文章

  1. 软件工程第二周阅读作业
  2. python绘制灰度图片直方图-用python简单处理图片(5):图像直方图
  3. 一文弄懂神经网络中的反向传播法
  4. 2021年云南高考查询成绩时间,2021年云南高考成绩排名及成绩公布时间 什么时候出来...
  5. 枚举类 - Java面向对象编程
  6. 用友通ERP客户端报无法登陆错
  7. Python外(4)-读写mat文件
  8. android环境搭建—— 工欲善其事必先利其器
  9. 通过ida dump Uinity3D的加密dll
  10. 经典排序算法(二)--桶排序Bucket Sort
  11. 网易校招内推-2023届技术类岗位
  12. 导航栏渐变方案收录一
  13. 在线查看计算机配置,怎样查看电脑配置信息?
  14. 你为什么总是爱拖延?这个我知道
  15. windows下图像标注软件Labelme安装及使用教程
  16. 终端 常用移动光标的快捷键
  17. 开发三星GALAXY Tab应用程序
  18. Ti ub954/953 Sensor调试心得
  19. Maven 入门教程
  20. 【cmake学习】cmake 引入第三方库(头文件目录、库目录、库文件)

热门文章

  1. IB中文:文学作品中幽默手法的表现方式(下)
  2. qq发消息时键盘挡住了_QQ的说说被键盘挡住了怎么办
  3. Could not build wheels for xx which use PEP 517 and cannot be installed directly
  4. 极速接入港交所OMD-C 港股L2数据,JAR WebSocket API获取数据
  5. 京东回归港股不是上岸,刘强东还有更大的杀招!
  6. 闪迪u盘不能识别好办法_SanDisk U盘无法识别解决
  7. 《变形金刚ONLINE》策划案
  8. 注意力CBMA到底在网络中做了什么事
  9. arcengine java_浅析 ArcEngine Java - EngineViewer 例子
  10. 教程篇(7.0) 11. FortiGate安全 入侵防御和拒绝服务 ❀ Fortinet 网络安全专家 NSE 4