使用 mysql 路由器照亮数据库连接
Illuminate Database connectivity with mysql router
我正在 laravel 之外与 jessengers mongodb 一起使用 Laravel 的 illuminate 数据库库。
我的要求是通过 illuminate 数据库连接多个数据库。
目前,我添加了两个连接,一个 mysql 和一个 mongodb。
要拆分数据库负载,我需要连接到 mysql 路由器而不是直接连接到 mysql 数据库服务器。另外,因为我只想要一个用于读取操作,一个用于 Read/Write 操作。
请帮我解决这个问题。
提前致谢。
当前连接数
$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 路由器进行读取和 Read/Write 操作。
您可以使用 mysql host 或 [ 单独定义 read/write 选项=20=] 路由器主机和端口
$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");
我正在 laravel 之外与 jessengers mongodb 一起使用 Laravel 的 illuminate 数据库库。
我的要求是通过 illuminate 数据库连接多个数据库。
目前,我添加了两个连接,一个 mysql 和一个 mongodb。
要拆分数据库负载,我需要连接到 mysql 路由器而不是直接连接到 mysql 数据库服务器。另外,因为我只想要一个用于读取操作,一个用于 Read/Write 操作。
请帮我解决这个问题。
提前致谢。
当前连接数
$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 路由器进行读取和 Read/Write 操作。
您可以使用 mysql host 或 [ 单独定义 read/write 选项=20=] 路由器主机和端口
$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");