加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

php – 从master数据库获取数据库凭据,然后连接到不同的数据库

发布时间:2020-12-11 23:44:46 所属栏目:MySql教程 来源:网络整理
导读:我有一个实例化的Web应用程序,它为每个实例使用不同的数据库,但使用相同的文件. 我希望我的应用程序在启动时做什么: 从主实例表中获取数据库凭据.此实例表位于我在app / config / database.php中定义的默认“mysql”连接中. 从那时起连接到实例数据库(我不

我有一个实例化的Web应用程序,它为每个实例使用不同的数据库,但使用相同的文件.

我希望我的应用程序在启动时做什么:

>从主实例表中获取数据库凭据.此实例表位于我在app / config / database.php中定义的默认“mysql”连接中.
>从那时起连接到实例数据库(我不再需要主实例数据库)

我试图在我的App:before()事件中执行此操作,但这不起作用,因为我的master数据库中没有会话表.如果我在database.php中的返回数组()之前执行它显然无法连接,因为它还没有正确的主数据库凭据.

我应该在哪里这样做?我应该只是禁用会话并在我的App :: before()中执行,然后启用会话吗?

最佳答案 不要认为它可能,但这是一种可能性.

读/写连接

有时您可能希望为SELECT语句使用一个数据库连接,而对INSERT,UPDATE和DELETE语句使用另一个数据库连接. Laravel使这变得轻而易举,无论您使用的是原始查询,查询构建器还是Eloquent ORM,都将始终使用正确的连接.

要了解应如何配置读/写连接,让我们看一下这个例子:

'mysql' => array(
    'read' => array(
        'host' => '192.168.1.1',),'write' => array(
        'host' => '196.168.1.2'
    ),'driver'    => 'mysql','database'  => 'database','username'  => 'root','password'  => '','charset'   => 'utf8','collation' => 'utf8_unicode_ci','prefix'    => '',

请注意,配置数组中添加了两个键:读取和写入.这两个键都包含包含单个键的数组值:host.读取和写入连接的其余数据库选项将从主mysql数组合并.因此,如果我们希望覆盖主数组中的值,我们只需要在读取和写入数组中放置项目.因此,在这种情况下,192.168.1.1将用作“读”连接,而192.168.1.2将用作“写”连接.主mysql数组中的数据库凭据,前缀,字符集和所有其他选项将在两个连接之间共享.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读