讨论数量:
'mysql' => [
'read' => [
'host' => [
'192.168.1.1',
'196.168.1.2',
],
],
'write' => [
'host' => [
'196.168.1.3',
],
],
'sticky' => true,
'driver' => 'mysql',
'database' => 'database',
'username' => 'root',
'password' => '',
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
],
注意在以上的例子中,配置数组中增加了三个键,分别是 read
, write
和 sticky
。 read
和 write
的键都包含一个键为 host
的数组。而 read
和 write
的其他数据库都在键为 mysql
的数组中。
如果你想重写主数组中的配置,只需要修改 read
和 write
数组即可。所以,这个例子中: 192.168.1.1
和192.168.1.2
将作为 「读」 连接主机,而 192.168.1.3
将作为 「写」 连接主机。这两个连接会共享 mysql
数组的各项配置,如数据库的凭据(用户名 / 密码),前缀,字符编码等。
这个我不知道该如何说。
如果使用的是各种中间件,Atlas
之类的,不需要 laravel
配置读写分离。这也是为什么你百度不到。
中间件的功能就是对应用1,对数据库N。中间分表分库读写分离主从复制跨区join
等等全是中间件的活。不需要 laravel
干什么。只要配置一个数据源就行了。中间件自己会处理这些。
所以,不用配置 read
和 write
。直接指向服务IP即可。mycat
理论上也是一样。如果有疑问,可以问你们的运维或者 DBA 。
注意在以上的例子中,配置数组中增加了三个键,分别是
read
,write
和sticky
。read
和write
的键都包含一个键为host
的数组。而read
和write
的其他数据库都在键为mysql
的数组中。如果你想重写主数组中的配置,只需要修改
read
和write
数组即可。所以,这个例子中:192.168.1.1
和192.168.1.2
将作为 「读」 连接主机,而192.168.1.3
将作为 「写」 连接主机。这两个连接会共享mysql
数组的各项配置,如数据库的凭据(用户名 / 密码),前缀,字符编码等。