SaaS-单一应用程序但独立的数据库方法-PHP&;MySQL

SaaS-单一应用程序但独立的数据库方法-PHP&;MySQL,php,mysql,saas,Php,Mysql,Saas,我正要创建我的第一个SaaS应用程序。考虑创建一个前端应用程序,但为每个客户机创建单独的数据库 但在开始之前,我们做了一些研究,发现了这份白皮书: 请注意,我是否完全理解其中提到的内容。但我觉得自己像一个独立的数据库,即每个客户都有独立的数据库更好。因为它允许我们轻松地分别备份或恢复每个客户机的数据库 在此,用户还建议使用单独的数据库: 因此,我将保留一个主数据库来保存客户机信息,其中包括为该客户机创建的数据库名称。我遇到的问题是,我是否应该创建一个db_用户并将此db_用户与所有数据库关联 或

我正要创建我的第一个SaaS应用程序。考虑创建一个前端应用程序,但为每个客户机创建单独的数据库

但在开始之前,我们做了一些研究,发现了这份白皮书:

请注意,我是否完全理解其中提到的内容。但我觉得自己像一个独立的数据库,即每个客户都有独立的数据库更好。因为它允许我们轻松地分别备份或恢复每个客户机的数据库

在此,用户还建议使用单独的数据库:

因此,我将保留一个主数据库来保存客户机信息,其中包括为该客户机创建的数据库名称。我遇到的问题是,我是否应该创建一个db_用户并将此db_用户与所有数据库关联

或者我必须创建单独的数据库用户并将其连接到每个数据库吗?也就是说,每个数据库都有一个不同的数据库用户

例如:

DB Name     | DB User
------------------------
abc_db1 ----|     
abc_db2 ----|     
abc_db3 ----|---> dbuser   
abc_db4 ----|     
abc_db5 ----|     


DB Name     | DB User
---------------------
abc_db1 ----> dbuser_1
abc_db2 ----> dbuser_2
abc_db3 ----> dbuser_3
abc_db4 ----> dbuser_4
在这两个选项中,哪一个是更好的选择?所有数据库都有一个数据库用户,还是每个数据库都有一个单独的数据库用户


谢谢你

我有一个类似这样的SAAS项目,我们使用一个db用户。我建议两者都使用。让您的SaaS管理部门使用允许访问所有相关数据库的自己的用户,并为每个客户端将使用的每个数据库创建一个唯一的用户。通过这种方式,您可以将客户端的访问权限限制为特定用户,但仍然可以使用单个用户自己管理所有内容。只需确保通用用户具有受限访问权限(例如仅本地主机或任何web服务器的IP)。谢谢Dagon和Mark Ormston。