所有数据库都使用 1 个用户名吗?

所有数据库都使用 1 个用户名吗?

我有 1 个网站,其中有很多数据库,大约 7-8 个。

我应该使用 1 个用户名和密码来访问所有数据库,还是每个数据库都有自己的用户名和密码?

答案1

对此没有真正的正确答案。

安全性要求您应该使用多个用户名和密码,但这会大大增加应用程序所需的配置。

逻辑表明,除非有特定原因导致有权访问一个数据库的人被拒绝访问另一个数据库,否则使用相同的用户名/密码应该没问题。

但是,如果您想确保有权访问一个数据库的用户不能访问另一个数据库,那么当然您应该使用多个用户名和密码。

答案2

我认为不是,我的论点源于“鸡蛋放在一个篮子里”模型。

只有一个帐户,如果您的帐户被盗用,您将丢失 8 个数据库,而如果每个数据库有一个用户,那么您只会丢失一个数据库。

另一个论点是,你应该把鸡蛋放在一个篮子里,“确保你有一个非常好的篮子”。在我看来,MySQL 用户名/密码组合不是一个足够好的篮子。

现在,如果您想将 mysql 绑定到 127.0.0.1,以便没有外部连接,那么您将有一个更好的策略的开始。当然,我仍然会为每个数据库分配不同的用户。纵深防御。

答案3

不,你应该为每个数据库使用不同的用户名和密码组合!我用的是http://www.grc.com/密码生成我的数据库密码。效果很好!此外,您应该为“用户”提供最严格的权限,同时仍使其能够完成所有任务。

答案4

我会说绝对可以,并确保只有此应用程序知道用户名/密码,其他人不知道。其他需要访问其他数据库的人可以使用具有不同权限的不同凭据。

您没有说它们是否在不同的服务器上,但实际上并没有什么区别。

无论如何,只要您的测试系统以类似的方式设置,您的开发人员就可以发布工作代码,那么拥有 7-8 个数据库应该不是问题。

相关内容