mysql - 跨多个数据库共享用户表以实现单次登录

标签 mysql database database-design drupal-7

在我的 Drupal 7 安装中我有:

  1. 主站点:example.com
  2. 子域:blog.example.com、forum.example.com(都在同一个域中)

我有这样的数据库设计:

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

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

是否有任何解决方案可以将用户表存储在 main_db 中并通过其他数据库访问它?正确的说法是,如何将用户表从主数据库共享到其他数据库。

最佳答案

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

这是来自 documentation of the SELECT statement :

You can refer to a table within the default database as tbl_name, or as db_name.tbl_name to specify a database explicitly.

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

关于mysql - 跨多个数据库共享用户表以实现单次登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14814496/

相关文章:

c# - MySql 自上次 NOW() 以来获取更新异步问题

mysql - 保护 Heroku 的 REST API

php - fatal error : Out of memory (allocated 12582912) (tried to allocate 12582920 bytes)

mysql - 如何解决加载数据后重复输入 key 'PRIMARY'

mysql - 连接多个表

python - 将项目插入 MongoDb 后,如何获取其 ObjectID?

mysql - NodeJS - 连接到本地 Mysql 数据库

java - java数据库中静态方法和单例的替代解决方案

sql - 当使用外键向数据库添加新项目时,是否应该使用 SQL 触发器在其他表中创建相关行?

database-design - 为什么维度建模中的事实表需要(不需要)主键?