跨多个数据库共享用户表以进行单一登录

时间:2013-02-11 14:48:14

标签: mysql database database-design drupal-7

在我的Drupal 7安装中,我有:

  1. 主要网站:example.com
  2. 子域名:blog.example.com,forum.example.com(全部在同一个域中)
  3. 我有这样的数据库设计:

    • 主站点使用:main_db
    • 子域使用:blog_db,forum_db(所有单独的数据库)

    当用户在主站点注册时,他们还应该能够使用其他子域而无需一次又一次地注册。我可以将用户表从main_db复制/同步到其他dbs,但这不是合适的解决方案。因为它创建3个相同数据的实例。

    有没有解决方案在main_db中存储用户表并通过其他dbs访问它?正确的术语是,如何将用户表从主数据库共享到其他数据库。

1 个答案:

答案 0 :(得分:2)

您可以从MySQL中的其他数据库进行查询。只需在表名前添加数据库前缀。

这是documentation of the SELECT statement

  

您可以将默认数据库中的表称为tbl_name,或   as db_name.tbl_name以显式指定数据库。

只需确保编辑权限,以便用户可以访问所需的数据库。