将单个或多个mysql用户用于具有多租户架构的SaaS PHP/mysql应用程序

Jor*_*rre 5 php mysql saas multi-tenant

我们正在构建一个多用户应用程序,每个客户都有一个数据库.所有客户数据库结构都相同.现在我们正在生成一个新的mysql用户(每个客户端),它只有在自己的数据库上工作的权限.

例如,mysql user1拥有dbase1.*(database1.alltables)的权限,mysql user2拥有dbase2的权限.*.

我们现在注意到,作为备份转储到另一台服务器已经很痛苦了(我们不使用复制但是尝试偶尔转储文件但是不能删除info_schema dbase并从sql文件中重新创建它.

无论如何,我们想知道是否只使用一个可以访问所有客户端数据库的用户会更好吗?这更不安全吧?或者它可以以相当安全的方式使用?管理肯定会更好.

你的想法是什么?

Amb*_*ber 3

您可能想要做的是,在创建 MySQL 用户时,还将该用户的创建记录存储在其他位置(数据库之外),然后使用一个脚本将用户及其权限恢复到数据库中您创建的记录。