Php 说明数据库与mysql路由器的连接
我正在和jessengers mongodb一起使用Laravel外的Laravel数据库库 我的要求是通过数据库连接多个数据库 目前,我已经添加了两个连接,一个是mysql,一个是mongodb 要拆分数据库负载,我需要连接到mysql路由器,而不是直接连接mysql db服务器。另外,我想要一个只用于读操作,另一个用于读/写操作 请帮我解决这个问题 提前谢谢 电流连接Php 说明数据库与mysql路由器的连接,php,mysql,laravel-5,illuminate-container,Php,Mysql,Laravel 5,Illuminate Container,我正在和jessengers mongodb一起使用Laravel外的Laravel数据库库 我的要求是通过数据库连接多个数据库 目前,我已经添加了两个连接,一个是mysql,一个是mongodb 要拆分数据库负载,我需要连接到mysql路由器,而不是直接连接mysql db服务器。另外,我想要一个只用于读操作,另一个用于读/写操作 请帮我解决这个问题 提前谢谢 电流连接 $db = new Capsule; $db->addConnection([ 'driver' =&
$db = new Capsule;
$db->addConnection([
'driver' => 'mysql',
'host' => '127.0.0.1',
'database' => 'test',
'username' => 'test',
'password' => 'test@123#',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
], "default");
$db->addConnection([
'driver' => 'mongodb',
'host' => '127.0.0.1',
'port' => 27017,
'database' => 'test',
'username' => null,
'password' => null,
'options' => []
], "mongodb");
$db->getDatabaseManager()->extend('mongodb', function ($config) {
return new Connection($config);
});
$db->setEventDispatcher(new Dispatcher(new Container));
$db->setAsGlobal();
$db->bootEloquent();
我需要将一个mysql连接替换为两个mysql连接,以便通过mysql路由器进行读写操作。您可以使用mysql主机或mysql路由器主机和端口分别定义读写选项
$db->addConnection([
'driver' => 'mysql',
'read' => [
'host' => '<mysql_router_host_ip>',
'port' => '<mysql_router_host_port>'
],
'write' => [
'host' => '<mysql_router_host_ip>',
'port' => '<mysql_router_host_port>'
],
'database' => '<mysql_database>',
'username' => '<mysql_database_user>',
'password' => '<mysql_database_password>',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
], "mysql");
$db->addConnection([
“驱动程序”=>“mysql”,
“读取”=>[
'主机'=>'',
“端口”=>“
],
“写入”=>[
'主机'=>'',
“端口”=>“
],
'数据库'=>'',
'用户名'=>'',
'密码'=>'',
“字符集”=>“utf8”,
“排序规则”=>“utf8\U unicode\U ci”,
'前缀'=>'',
]“mysql”);